Debian, APT 취약점 수정… 검증된 패키지 바꿔 root 권한 코드 실행 가능
Debian은 2026년 11월 4일 APT 취약점 CVE-2026-109518의 수정판을 공지했습니다. HTTP 통신을 조작하는 공격자가 리다이렉트와 재시도를 유도하면 하드링크 처리 오류로 검증된 패키지를 바꿔 root 권한 코드를 실행할 수 있습니다. Debian은 Trixie의 apt 3.0.4와 Bookworm의 2.6.2를 수정 버전으로 제시했고, Canonical도 Ubuntu용 업데이트를 발표했습니다.
본문
Debian은 2026년 11월 4일 보안 공지 DSA-6607-1에서 APT 취약점 CVE-2026-109518의 수정판을 알렸습니다. Max Justicz가 발견한 이 결함은 HTTP 리다이렉트와 다운로드 재시도가 맞물릴 때 공격자가 검증을 마친 패키지를 바꿔치기해 root 권한 코드 실행으로 이어질 수 있습니다.
APT 저장소의 신뢰 체계에서는 서명된 Release 파일이 Packages 목록의 체크섬을 담고, Packages 목록은 각 패키지의 체크섬을 담습니다. APT는 이 연결을 따라 저장소 메타데이터와 내려받은 패키지의 무결성을 확인합니다.
Debian은 APT가 HTTP 리다이렉트로 서로 다른 패키지의 다운로드를 같은 URI에 연결하면 두 요청을 합칠 수 있다고 설명했습니다. 서버의 일시적 오류가 재시도를 일으킨 상황에서 다운로드를 재개할 때 하드링크를 잘못 처리하면, 공격자가 검증된 패키지를 덮어쓸 수 있습니다. 하드링크는 파일 이름이 달라도 같은 데이터를 가리키므로, 한 경로에 쓴 내용이 다른 경로에서도 바뀐 것으로 나타납니다. Debian은 이 경로가 임의 코드를 root 권한으로 실행할 수 있다고 경고했습니다.
공격자는 패키지를 설치하는 동안 APT와 저장소 사이의 HTTP 통신을 조작할 수 있어야 합니다. Julian Andres Klode가 Debian 개발자 메일링 리스트에 올린 보안 안내는 리다이렉트에 더해 APT의 재시도를 유발하는 표준적인 HTTP 일시 오류가 공격 경로에 필요하다고 설명합니다. 또한 Acquire::Retries 설정이 0보다 커야 합니다. APT 2.3.2부터 재시도가 기본 설정에 들어갔고, Debian 12 Bookworm과 Ubuntu 22.04에서는 기본값이 3입니다. 더 오래된 배포판은 기본 설정만으로 이 조건을 충족하지 않지만, 운영 스크립트에서 재시도를 켰다면 같은 경로가 열릴 수 있습니다.
APT의 수정은 다운로드를 재개할 때 하드링크가 가리키는 기존 데이터를 덮어쓰지 않도록 파일을 여는 방식을 바꿉니다. 기존 파일을 읽은 뒤 기존 경로를 해제하고, 새 파일을 배타적으로 열어 읽어 둔 내용을 복사합니다. 이후 다운로드 데이터는 기존 하드링크와 데이터를 공유하지 않는 새 파일에 기록됩니다.
Debian은 안정판 Trixie의 수정 버전으로 apt 3.0.4를 안내했습니다. Debian 12 Bookworm에는 같은 날 LTS 보안 공지가 apt 2.6.2를 수정 버전으로 제시했습니다. Canonical도 11월 4일 Ubuntu용 별도 보안 공지와 패키지 업데이트를 발표했습니다.
참고 자료
- [SECURITY] [DSA 6607-1] apt security update
- APT-2026-11-01 security update
- methods: Open target files exclusively (5af16a8a) · Commits · APT Developers / apt · GitLab
- apt-secure(8) — apt — Debian bookworm — Debian Manpages
- [SECURITY] [DLA 4880-1] apt security update
- CVE Record: CVE-2026-109518
- USN-8996-1: APT vulnerability | Ubuntu security notices | Ubuntu
- CVE-2026-109518