9년 된 리눅스 커널 결함, 주요 배포판에서 루트 명령 실행 가능
출처: The Hacker News
보안 연구원들은 Debian, Fedora, Ubuntu 등 주요 배포판의 기본 설치에서 권한이 없는 로컬 사용자가 민감한 파일을 읽고 루트 권한으로 임의 명령을 실행할 수 있게 하는 9년 된 리눅스 커널 취약점을 공개했습니다. 이 결함은 CVE‑2026‑46333(CVSS 5.5)으로 추적되며 코드명은 ssh‑keysign‑pwn입니다.

취약점 개요
- 근본 원인 – 문제는 커널의
__ptrace_may_access()함수에 있습니다. 2016년 11월에 도입되었으며 로컬 공격자가 권한 검사를 우회하도록 합니다. - 영향 – 공격자는 다음을 수행할 수 있습니다.
/etc/shadow와/etc/ssh/*_key아래에 있는 개인 SSH 키를 유출- chage, ssh‑keysign, pkexec, accounts‑daemon 네 가지 별도 익스플로잇 경로를 통해 루트 권한으로 임의 명령 실행
- 발견 – Qualys가 결함을 발견하고 GitHub에 PoC(Proof‑of‑Concept) 익스플로잇을 공개했습니다.

익스플로잇 상세
다음 경로 중 하나를 이용하면 성공적인 익스플로잇이 가능합니다.
| 익스플로잇 경로 | 일반적인 대상 |
|---|---|
chage | 비밀번호 만료 관리 유틸리티를 조작 |
ssh-keysign | ssh-keysign 헬퍼 바이너리를 활용 |
pkexec | Polkit의 pkexec 명령을 악용 |
accounts-daemon | D‑Bus 계정 관리 서비스를 공격 |
각 경로는 궁극적으로 취약한 ptrace 경로를 호출해 공격자에게 루트 권한과 인증 정보에 대한 접근을 부여합니다.
완화 및 권고 사항
-
커널 업데이트 – 배포판에서 제공하는 최신 커널 패키지를 가능한 한 빨리 적용하십시오.
-
임시 우회 방법 – 즉시 업데이트가 어려운 경우
kernel.yama.ptrace_scopesysctl 값을2로 올리세요:sudo sysctl -w kernel.yama.ptrace_scope=2 -
인증 정보 교체 – SSH 호스트 키와 로컬에 캐시된 모든 인증 정보를 잠재적으로 유출된 것으로 간주하고 교체하십시오. set‑uid 프로세스 메모리에 남아 있을 수 있는 특권 자료도 검토하세요.
“노출 기간 동안 신뢰할 수 없는 로컬 사용자를 허용한 호스트에서는 SSH 호스트 키와 로컬에 캐시된 인증 정보를 잠재적으로 유출된 것으로 간주하십시오.” – Qualys
관련 익스플로잇: PinTheft
별도의 PoC인 PinTheft는 Arch Linux 시스템에서 로컬 권한 상승을 시연합니다. 이 익스플로잇은 Reliable Datagram Sockets(RDS) 제로카피 전송 경로의 double‑free 버그를 이용하며, io_uring 고정 버퍼를 통해 페이지 캐시를 덮어쓸 수 있습니다.
- 전제 조건 – 대상 시스템에 RDS 모듈이 로드되어 있고,
io_uring이 활성화되어 있으며, 읽을 수 있는 SUID‑root 바이너리와 x86_64 아키텍처 지원이 필요합니다. - 기술 요약 – 버그는
rds_message_zcopy_from_user()에 존재합니다. 제로카피 전송 중 페이지 폴트가 발생하면 오류 경로에서 이미 고정된 페이지를 해제하고, 이후 정리 단계에서 다시 해제해 공격자가 사용자 페이지에 대한 참조를 탈취하고 최종적으로 루트를 획득할 수 있게 합니다.

자세한 기술 내용은 원본 저장소를 참고하십시오.