Four Linux kernel flaws now have public exploits, users could potentially escalate to root
Linux 커널 취약점 4건에 공개 익스플로잇 등장 — 로컬 사용자가 root 권한으로 상승 가능
Linux 커널의 메모리 안전성 취약점 4건에 작동하는 익스플로잇 코드가 공개됐습니다. 패치는 배포됐지만 배포판별 적용 시점이 다르므로, 오래된 커널을 쓰는 시스템은 업데이트 여부를 확인해야 합니다.
- 주제
AI 요약
보안 연구자 Asim Manizada가 Linux 커널의 네트워크 코드에서 발견한 취약점 4건의 작동하는 익스플로잇을 공개했습니다. DirtyAH6, TUNderflow, PPPoEject, DiagSpill은 모두 커널 메모리를 손상시키며, 로컬 사용자가 최고 권한인 root 셸을 얻는 데 악용됐습니다. 커널 유지관리자는 지난 몇 주 동안 네 취약점의 수정 사항을 배포했지만, Linux 배포판이 수정판을 내놓는 시점은 서로 다릅니다.
■ 공개된 취약점과 접근 조건
DirtyAH6(CVE-2026-80844)는 IPv6 IPsec Authentication Header(AH6) 코드에 있습니다. 공격자는 라우팅 헤더의 값을 실제 주소 개수와 비교하지 않는 동작을 이용해 내부 포인터를 버퍼 바깥으로 이동시키고, 할당된 영역 뒤에 데이터를 씁니다. 일반 사용자가 악용하려면 unprivileged user namespace가 켜져 있어야 합니다.
TUNderflow(CVE-2026-81000)는 TUN/TAP 가상 네트워크 장치에서 발생합니다. 하나의 값이 여유 공간과 크기를 동시에 나타내는데, Open vSwitch에서 전달한 큰 값이 크기 계산을 래핑시킵니다. 그 결과 패킷 데이터가 버퍼 바깥에 기록됩니다. PPPoEject(CVE-2026-68121)는 PPP over Ethernet 코드의 use-after-free 취약점입니다. 장치 루틴이 네트워크 버퍼를 해제하거나 이동할 수 있는데도 기존 포인터를 계속 사용해 이후 쓰기 작업이 해제된 메모리를 가리킵니다.
DiagSpill(CVE-2026-74469)는 SCTP의 연결 엔드포인트 보고 코드에 있습니다. 엔드포인트 개수를 세는 값이 16비트라 65,536번째 항목에서 0으로 돌아갑니다. 보고 코드가 공간을 할당하지 않은 채 전체 목록을 복사하면서 버퍼 뒤에 약 8MiB를 기록합니다. 네 취약점 중 DiagSpill만 user namespace나 별도 권한이 필요하지 않습니다. 시스템에서 SCTP 네트워킹 모듈을 사용할 수 있으면 일반 사용자에게 노출됩니다.
■ 원격 악용과 실제 위험
TUNderflow와 PPPoEject는 원격에서 도달할 수 없습니다. DirtyAH6는 IPv6 라우터나 게이트웨이가 IPsec Authentication Header를 transport mode로 추가할 때 원격에서 시스템을 충돌시킬 수 있습니다. DiagSpill도 기본값이 아닌 SCTP 옵션을 켠 환경에서만 원격 충돌이 가능합니다.
Manizada는 DirtyAH6로 연구실 환경에서 원격 root 권한을 얻었지만, 먼저 대상 메모리 배치를 조작해야 했습니다. 원격 위치에서 메모리 조작만으로 같은 결과를 내기는 "extremely difficult"해 보인다고 설명했습니다. 가능성을 배제하지는 않았지만, DiagSpill에서는 완벽한 메모리 조작을 가정해도 원격 root로 이어질 경로를 찾지 못했다고 밝혔습니다. 컨테이너 탈출도 이론상 가능하다고 봤지만 직접 구현하지는 않았습니다.
공개된 익스플로잇은 특정 커널 빌드에 맞춰졌고 시스템을 충돌시킬 수 있습니다. 현재 네 취약점이 실제 공격에 사용됐다는 보고는 없습니다. 다만 다중 사용자 서버처럼 공격자가 이미 낮은 권한의 계정을 확보한 환경에서는 로컬 권한 상승으로 전체 시스템을 장악할 위험이 커집니다.
■ 패치 버전과 대응 방법
네 수정 사항을 모두 포함한 Linux 메인라인 안정 버전은 다음과 같습니다.
- 5.10.270
- 5.15.221
- 6.1.188
- 6.6.157
- 6.12.109
- 6.18.50
- 7.2.4
Debian, Ubuntu, Red Hat, SUSE 같은 배포판은 자체 커널 버전 체계와 배포 일정을 사용합니다. 따라서 위 버전 번호와 일치하는지보다 배포판 보안 공지에서 네 CVE에 대한 수정 사항이 모두 포함됐는지 확인해야 합니다.
즉시 패치하기 어렵다면 unprivileged user namespace를 끄는 방법이 있습니다. 이 설정은 DirtyAH6, TUNderflow, PPPoEject에 대한 일반 사용자 경로를 차단하지만 DiagSpill에는 영향을 주지 않습니다. 이미 network-admin 권한을 가진 컨테이너나 프로세스도 막지 못합니다. 사용하지 않는 AH6, TUN/TAP, PPPoE, SCTP 기능을 끄는 방법도 있지만, Manizada는 다른 공격 경로가 남을 수 있으므로 기능 비활성화보다 패치를 권장합니다.
■ AI 보조 취약점 탐색
Manizada는 커널의 메모리 처리 방식을 지도처럼 구성하고 메모리 배치를 추론하는 AI 보조 과정으로 네 버그를 찾았다고 설명했습니다. DirtyAH6 수정 커밋에는 그의 맞춤형 AI 도구를 인정하는 "Assisted-by" 항목도 들어갔습니다. 2026년 공개된 Linux 커널 권한 상승 취약점 가운데 대규모 언어 모델의 도움을 받은 사례가 이어지고 있으며, Manizada는 7월에도 Open vSwitch 취약점 OVSwrap을 공개했습니다. 이번 분석에는 다른 연구자가 5월에 공개한 Linux root 취약점 Dirty Frag의 기법도 재사용됐습니다. Manizada는 이번 묶음이 자신의 AI 보조 버그 헌팅에서 공개 단계의 마지막 사례가 될 가능성이 높다고 적었습니다.
■ Reddit 반응
- @u/Junior-Spring-5557 — 수정 사항은 이미 나와 있으므로 커널이나 배포판 패키지를 업데이트하는 것이 좋습니다. 메인라인 커널에는 수정 사항이 있지만, 공급업체가 반드시 수정판을 내놓은 것은 아닙니다. 예를 들어 RHEL과 Ubuntu에는 아직 CVE-2026-74469 수정판이 없습니다.
- @u/superdariom — Android에서도 작동합니까?
- @u/cookiengineer — 사실 네 취약점 모두 커널 메모리 길들이기에 크게 의존하므로, memory feng shui 같은 고급 기법이 필요합니다. 실제 실행 가능성은 거의 0에 가깝다고 말하는 것입니다. 불가능하다는 뜻은 아니지만, 공개된 익스플로잇과 PoC는 모두 메모리 할당 문제에 맞추려고 커널 설정을 특별히 조정하고 Spectre 이후 도입된 여러 안전 기능을 끈 상태에 의존합니다. 개인적으로 최근 Linux 커널 취약점과 익스플로잇은 대부분 TOCTOU나 비슷한 기법과 관련된다고 봅니다. 차용 개념에 관한 가정이 제대로 작동하지 않는 경우이며, 커널 API 설계의 결함이기도 하다고 생각합니다. 아직 이런 종류의 메모리 퍼징을 자동화하는 방법은 찾지 못했지만, 이론적으로는 매번 메모리를 할당하거나 해제할 때마다 원격에서 커널을 일시 정지하고 재개하는 맞춤형 eBPF 스케줄러를 만들 수 있을 것 같습니다. 모든 네트워크 호출을 가로채는 내장 XDP 프로그램 같은 방식을 쓰면 됩니다.
- @u/AccomplishedSmoke814 — 매일입니다. 빌어먹을, 매일 그렇습니다.
원문: The Hacker News / 번역·요약: Trawling