리눅스 패키지킷 취약점 🎁

지호·2026년 4월 24일

뉴스

목록 보기
4/20

https://www.boannews.com/media/view.asp?idx=143346&page=1&kind=3

도이치 텔레콤 레드팀이 리눅스의 패키지 관리 계층인 패키지킷에서 루트권한을 얻을 수 있는 취약점이 발견되었다고 한다.


PackageKit 🛠️

패키지킷은 리눅스에서 프로그램 설치/삭제/업데이트를 쉽게 통합해서 관리해주는 시스템이다.
다양한 패키지 관리 시스템들을 위한 고차원적이고 일관성있는 프론트엔드를 제공하기 위한 목적으로 설계된 오픈소스이다.

예를 들어, 리눅스는 배포판마다 설치 방식이 다르다.

  • 우분투 > apt
  • 페도라 > dnf
  • 아치 > pacman
    패키지킷이 모든 패키지 관리자를 하나의 인터페이스로 통합해서 사용자의 경험을 향상시켜주는 것이다.

GUI 환경에서 사용자가 설치·업데이트 등의 작업을 수행하면 PackageKit이 이를 처리하며, 시스템(배포판)에 맞는 패키지 관리자(apt, dnf 등)를 호출하여 작업을 수행한다.


그래서 어떤 취약점? 🤔

CVE-2026-41651로 등록되었으며 팩투더루트(Pack2TheRoot)로 명명되었다. 일반사용자가 루트권한을 얻어 시스템 패키지를 마음대로 설치하거나 삭제할 수 있어, 보안 침해를 유발할 수 있다.

해당 취약점은 일종의 TOCTOU 레이스 컨디션 공격의 일종이다.
GPT에게 물어보니 3가지의 버그가 종합되어 익스플로잇된다고 한다.

  1. 조건 없은 플래그 덮어쓰기
    • InstallFiles()함수는 트랜잭션이 권한승인을 받았거나 시작되었는지 확인하지 않고, 호출자가 보낸 플래그를 transaction->cached_transaction_flags에 기록한다.
    • 레이스 컨디션 공격을 이용해 실행중이더라도 플래그를 덮어쓸 수 있다.
  2. 조용한 상태 전이 거부
    • pk_tansaction_set_state()함수는 비정상적인 상태전이를 감지하면 취소하지만 플래그를 원래대로 되돌리지는 않는다.
  3. 실행 시점의 늦은 플래그 참조
    • 스케줄러의 콜백함수가 플래그를 읽는 시점이 '권한 승인 시점'이 아니라 '실제 실행 시점'임
    • 권한 승인과 실제 실행 사이에 플래그가 덮어씌워졌다면, 공격자가 조작한 플래그를 읽어 작업을 수행한다.

AI 생성 이미지

패키지킷 개발팀은 빠르게 해당 취약점을 수정한 1.3.5 버전을 바로 출시했으며 빠른 보안 업데이트가 요구되어 진다.

이번 취약점의 CVSS는 8.8이다. 만점이 10점이기 때문에 굉장히 높은 점수이며 굉장히 위험하다고 할 수 있다. 간단한 로직을 통해 Root권한을 탈취할 수 있으니 그럴만도 한 것같다.

xz관련 사건들도 그렇고 오픈소스에 관련된 보안이슈가 종종 발견된다. 오픈소스가 확실히 누구나 사용할 수 있는 만큼 누구나 악용할 수 있지만, 안보 검증체계가 부실한건 사실이다.


리눅스 패키지 관리 계층 ‘패키지킷’에서 취약점 발견... 12년간 아무도 몰라
패키지킷 위키독스
CVE

0개의 댓글