신규 PinTheft Arch Linux 루트 권한 상승 취약점 익스플로잇 공개
Source: Bleeping Computer

개요
최근에 패치된 Linux 권한 상승 취약점에 대한 공개 증명 개념(PoC) 익스플로잇이 등장했으며, 이를 통해 로컬 공격자는 Arch Linux 시스템에서 루트 권한을 획득할 수 있습니다.
V12 보안팀이 PinTheft 라고 명명하고 아직 CVE ID를 기다리고 있는 이 취약점은 Linux 커널의 RDS(신뢰성 있는 데이터그램 소켓) 서브시스템에 존재하며 이번 달 초에 패치되었습니다(패치 발표).
V12는 PinTheft를 다음과 같이 설명했습니다:
“PinTheft는 RDS 제로카피 이중 해제(double‑free)를 이용한 Linux 로컬 권한 상승 익스플로잇으로, 이를 io_uring 고정 버퍼를 통한 페이지 캐시 덮어쓰기(page‑cache overwrite)로 전환할 수 있습니다.”
버그는 RDS 제로카피 전송 경로에 있습니다. rds_message_zcopy_from_user()는 사용자 페이지를 하나씩 고정(pin)합니다. 이후 페이지가 페이지 폴트가 발생하면 오류 경로에서 이미 고정된 페이지들을 해제하고, 제로카피 알림자가 지워진 뒤에도 스캐터‑리스트 엔트리와 엔트리 카운트가 살아 있기 때문에 이후 RDS 메시지 정리 단계에서 다시 해제됩니다. 각 실패한 제로카피 전송은 첫 번째 페이지에서 하나의 참조를 탈취할 수 있습니다.
익스플로잇 상세
V12는 FOLL_PIN 참조를 반복적으로 탈취하여 io_uring이 탈취된 페이지 포인터를 보유하게 만들고, 최종적으로 루트 쉘을 얻는 PoC를 공개했습니다.
익스플로잇이 필요로 하는 조건:
- 대상 시스템에 RDS 커널 모듈이 로드되어 있어야 함.
io_uringLinux I/O API가 활성화되어 있어야 함.- 읽을 수 있는 SUID‑root 바이너리가 존재해야 함.
- x86_64 아키텍처(페이로드가 64‑비트)여야 함.
이 조건들 때문에 공격 표면이 크게 제한됩니다. V12는 테스트한 일반적인 배포판 중 Arch Linux에서만 기본적으로 RDS 모듈이 활성화되어 있다고 언급했습니다.
완화 방안
해당 배포판을 사용하는 Linux 사용자는 최신 커널 업데이트를 즉시 설치해야 합니다. 바로 패치를 적용할 수 없는 시스템의 경우, 다음 절차를 통해 익스플로잇 시도를 차단할 수 있습니다:
# RDS 모듈 언로드
rmmod rds_tcp rds
# 다시 로드되지 않도록 차단
printf 'install rds /bin/false\ninstall rds_tcp /bin/false\n' > /etc/modprobe.d/pintheft.conf
관련 Linux LPE 취약점
PinTheft 공개는 최근 Linux 로컬 권한 상승(LPE) 취약점들의 물결에 이어진 것입니다:
- DirtyDecrypt 및 DirtyCBC – 주말에 공개된 PoC 익스플로잇 (DirtyDecrypt, DirtyCBC).
- Dirty Frag, Fragnesia, Copy Fail – 동일한 취약점 클래스에 속하는 다른 루트 상승 결함.
- Copy Fail – 실제 공격에 사용되고 있으며, CISA가 5월 1일에 이를 알려진 악용 취약점 카탈로그에 추가하고 정부 기관에 두 주 안에 Linux 시스템을 보호하도록 명령했습니다.
- Pack2TheRoot – 지난 달에 패치된, PackageKit 데몬에 존재하던 10년 된 권한 상승 버그.
이러한 공개는 커널 수준 취약점에 대한 신속한 패치와 완화 조치가 지속적으로 필요함을 강조합니다.