CVE-2026-68746 in Livebook정보

요약

\~에 의해 VulDB • 2026. 08. 05.

livebook-dev의 livebook에서 '안전하게 실패하지 않음(Failing Open)' 취약점이 발견되어, 인증되지 않은 네트워크 클라이언트가 Livebook Teams를 통해 신원을 강제하는 Livebook 서버에 대한 전체 접근 권한을 획득할 수 있습니다.

Livebook Agent 또는 App Server는 Livebook Teams에 연결된 상태일 때 자신이 속한 배포 그룹의 식별자를 캐시하며, 각 요청마다 로컬에 캐시된 배포 그룹 목록과 해당 식별자를 매칭하여 Teams 신원 강제 기능이 활성화되어 있는지 여부를 판단합니다. lib/livebook/hubs/team_client.ex 파일 내의 Livebook.Hubs.TeamClient.handle_call/3 함수는 해결되지 않은(decode 실패) 배포 그룹과 신원 강제가 비활성화된 상태로 해석된 배포 그룹을 구분하지 못합니다. 즉, 이 함수는 강제 기능이 활성화된 상태에서 그룹이 발견된 경우에만 매칭되며, 그 외의 모든 케이스(해결 실패 포함)를 처리하는 catch-all 절로 넘어가 이를 '강제 기능 꺼짐'으로 보고합니다. 반면, 사용자 및 애플리케이션 접근 권한을 결정하는 두 개의 인접 함수는 동일한 식별자를 해결하며, 같은 해독 불가 결과를 거부(Denial)로 처리합니다.

신원 상태가 비활성화된 것으로 보고되면 lib/livebook/zta/livebook_teams.ex 파일 내의 Livebook.ZTA.LivebookTeams.authenticate/3 함수는 빈 신원 메타데이터를 반환하고 요청을 중단하는 대신 계속 진행시킵니다. 이어 lib/livebook/web/user_plug.ex 및 auth_plug.ex에 있는 LivebookWeb.UserPlug.build_current_user/3은 이 빈 메타데이터를 새로 생성된 사용자 객체에 병합하며, 이때 접근 유형(access type)이 기본값인 '전체 접근'으로 설정됩니다. 또한 LivebookWeb.AuthPlug.authorized?/1 함수는 전체 접근 권한을 가진 사용자에게 모든 액세스를 허용합니다.

에이전트가 변경 사항을 수신하기 위해 연결되어 있지 않은 동안 참조되는 배포 그룹이 삭제되면 캐시된 식별자가 더 이상 해결되지 않게 됩니다. 이는 구체적으로 에이전트가 끊어지거나 재연결 중인 시간 창(window) 내에 배포 그룹이 삭제될 때 발생합니다. 클라이언트는 해당 그룹을 캐시 목록에서 제거하지만, 그 그룹을 가리키는 식별자는 지우지 않습니다. 이로 인해 영향을 받는 서버에 네트워크로 접근할 수 있는 모든 클라이언트에게 조직의 완전한 특권을 가진 구성원과 동일한 액세스 권한(노트북 읽기, 구성된 시크릿 정보 열람, 서버 런타임에서의 코드 실행 및 운영 방해 등)이 부여됩니다.

본 이슈는 livebook 0.19.7부터 0.19.9 미만 버전에서 영향을 받습니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

EEF

예약하다

2026. 07. 31.

모더레이션

수락

항목

VDB-386393

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!