
보안 연구자 Asim Manizada가 리눅스 커널(운영체제의 핵심 부분)에서 발견한 네 가지 취약점에 대한 실제 동작하는 공격 코드를 공개했습니다. 이 취약점들(DirtyAH6, TUNderflow, PPPoEject, DiagSpill)은 일반 사용자 계정으로 시스템에 접근한 공격자가 최고 관리자(root) 권한을 탈취할 수 있게 해줍니다. 리눅스 커널 개발팀은 이미 수 주 전 모든 취약점에 패치를 배포했으나, 오래된 커널을 그대로 쓰는 시스템은 즉시 업데이트해야 합니다. 공격 코드가 공개된 만큼 여러 사용자가 공유하는 서버나 컨테이너 환경에서의 위험이 높아졌습니다. 당장 패치가 어렵다면 비특권 사용자 네임스페이스 비활성화 등 임시 조치를 적용해야 합니다.
보안 연구자 Asim Manizada가 리눅스 커널의 네 가지 로컬 권한 상승(LPE) 취약점(CVE-2026-80844, CVE-2026-81000, CVE-2026-68121, CVE-2026-74469)에 대한 실제 작동하는 공격 코드를 2026년 9월 18일 공개했다.
일반 사용자 권한만 가진 공격자가 root를 획득할 수 있으며, 멀티유저 서버·컨테이너 환경에서 피해가 크다. 일부 취약점은 제한적 조건에서 원격으로 시스템 충돌(crash)도 유발 가능하다.
네 취약점 모두 커널 네트워킹 코드의 메모리 안전성 버그로, 버퍼 초과 쓰기·정수 래핑·use-after-free·16비트 카운터 오버플로우 등 10~21년 된 설계 실수에서 비롯됐다.
커널 개발팀은 이미 모든 취약점에 패치를 적용했으며, 5.10.270·6.1.188·6.6.157·6.12.109 등 주요 안정 버전에 수정이 포함됐다. Debian·Ubuntu·Red Hat·SUSE 등 각 배포판의 보안 권고문을 확인해 업데이트해야 한다.
즉시 패치가 불가능한 경우, 비특권 사용자 네임스페이스를 비활성화하면 네 가지 중 세 가지의 공격 경로를 차단할 수 있다. DiagSpill은 SCTP 모듈 비활성화로 위험을 줄일 수 있으나, 연구자는 임시 비활성화보다 패치를 권장한다.
본문
보안 연구자가 리눅스 커널의 네 가지 취약점에 대한 실제 동작하는 익스플로잇 코드를 공개했습니다. 각 취약점은 로컬 사용자가 머신에서 가장 높은 수준의 접근 권한인 root를 획득할 수 있게 합니다.
커널 메인테이너들은 지난 수 주에 걸쳐 네 가지 모두를 수정했으므로, 최신 커널을 실행 중인 시스템은 영향받지 않습니다. 그러나 익스플로잇 코드가 이미 공개된 만큼, 오래된 커널을 사용하는 모든 머신은 즉시 업데이트해야 합니다.
해당 취약점의 이름은 DirtyAH6, TUNderflow, PPPoEject, DiagSpill입니다. 연구자 Asim Manizada가 발견해 7월 중순 리눅스 커널 보안팀에 보고했습니다.
그는 배포판들이 먼저 수정 패치를 배포할 수 있도록 리눅스 배포판들과 공개 유예 기간을 협력 운영한 뒤, 9월 18일 실제 동작하는 익스플로잇이 포함된 기술 분석 문서를 공개했습니다.
현재까지 네 가지 취약점이 실제 공격에 사용됐다는 보고는 없습니다. 익스플로잇은 Manizada가 직접 제작한 것으로, 특정 커널 빌드에 맞춰져 있으며 머신을 충돌시킬 수 있어 격리된 테스트 시스템용으로 만들어졌습니다.
그럼에도 공개된 익스플로잇 코드는 공유 시스템에서의 위험을 높입니다. 로컬 권한 상승(LPE)은 공격자가 이미 어느 정도 접근 권한(예: 멀티유저 서버의 낮은 권한 계정)을 확보한 상태에서 완전한 제어권을 탈취하려 할 때 가장 큰 위협이 됩니다.
영향받는 범위
네 가지 취약점 중 세 가지는 비특권 사용자 네임스페이스(unprivileged user namespaces)가 활성화된 경우에만 일반 사용자가 접근할 수 있습니다. 사용자 네임스페이스는 일반 사용자가 격리된 샌드박스 내에서 root처럼 행동할 수 있게 해주는 리눅스 기능입니다. 많은 배포판이 이를 기본 활성화 상태로 제공하며, 공격자는 이를 통해 익스플로잇에 필요한 네트워크 권한을 얻습니다.
네 번째 취약점인 DiagSpill은 예외입니다. 시스템에 SCTP 네트워킹 모듈이 있다면 사용자 네임스페이스나 특별한 권한 없이도 악용할 수 있습니다.
| 취약점 | CVE | 커널 영역 | 로컬 전제 조건 | 원격 도달 가능 여부 |
|---|---|---|---|---|
| DirtyAH6 | CVE-2026-80844 | IPsec AH6 (IPv6) | 비특권 사용자 네임스페이스 | 충돌만 가능, 호스트가 IPv6를 라우팅하고 transport 모드로 Authentication Header를 추가하는 경우에 한함 |
| TUNderflow | CVE-2026-81000 | TUN/TAP 가상 네트워크 장치 | 비특권 사용자 네임스페이스 | 불가 |
| PPPoEject | CVE-2026-68121 | PPPoE | 비특권 사용자 네임스페이스 | 불가 |
| DiagSpill | CVE-2026-74469 | SCTP (sctp_diag) | 없음 | 충돌만 가능, 기본값 외의 SCTP 옵션이 활성화된 경우에 한함 |
Manizada는 두 가지 취약점인 DirtyAH6와 DiagSpill이 네트워크를 통해 트리거될 수 있음을 발견했으나, 이는 매우 제한적인 조건에서만 가능하며 주로 시스템 충돌을 유발하는 수준입니다.
DirtyAH6는 IPv6 라우터 또는 게이트웨이 역할을 하면서 transport 모드로 IPsec Authentication Header를 추가하는 호스트를 충돌시킬 수 있습니다. DiagSpill은 기본적으로 비활성화된 특정 SCTP 옵션이 켜진 경우에만 호스트를 충돌시킬 수 있습니다.
Manizada는 DirtyAH6로 원격 root 권한을 획득하는 데 성공했지만, 이는 자신의 실험실 환경에서 사전에 대상 시스템의 메모리 구조를 조작한 경우에만 가능했습니다. 순수하게 원격에서만 이를 수행하는 것은 "극히 어렵다"고 그는 기록했으며, 완전히 불가능하다고 단언하지는 않았습니다. DiagSpill의 경우, 메모리 구조를 완벽하게 조작하더라도 원격으로 root를 획득하는 경로는 없다고 밝혔습니다.
또한 이론적으로 이 취약점들이 컨테이너 탈출에 사용될 수 있다고 언급했으나, 실제로 구현하지는 않았습니다.
대응 방법
네 가지 수정 패치를 모두 포함한 커널 버전으로 업데이트하십시오. 완전한 수정이 포함된 최초의 안정 커널 릴리스 버전은 다음과 같습니다:
- 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 같은 배포판의 커널을 사용하며, 배포판마다 자체 버전 번호를 사용하고 자체 일정에 따라 수정 패치를 추가합니다. 위 번호와 단순 비교하는 대신, 사용 중인 배포판의 보안 권고문을 확인해 네 가지 수정 사항이 모두 포함된 업데이트가 배포됐는지 확인하십시오.
즉시 패치할 수 없는 경우, 위험을 줄이는 두 가지 방법이 있습니다:
- 비특권 사용자 네임스페이스를 비활성화합니다. 이렇게 하면 DirtyAH6, TUNderflow, PPPoEject에 대한 일반 사용자 경로가 차단됩니다. 다만 DiagSpill은 차단되지 않으며, 이미 네트워크 관리자 권한을 가진 컨테이너나 프로세스도 차단되지 않습니다.
- 사용하지 않는 기능을 비활성화합니다: AH6, TUN/TAP, PPPoE, SCTP.
Manizada는 동일한 취약점으로 향하는 다른 경로가 존재할 수 있으므로, 기능 비활성화보다 패치 적용을 권장합니다.
버그 동작 원리
네 가지 모두 커널 네트워킹 코드의 서로 다른 부분에 존재하는 메모리 안전성 버그입니다. 각각의 버그를 통해 공격자는 커널 메모리를 손상시킬 수 있으며, Manizada는 이를 이용해 root 셸을 획득했습니다. 근본적인 실수는 10년에서 21년 전으로 거슬러 올라갑니다.
- DirtyAH6는 IPv6 Authentication Header를 처리하는 IPsec 코드에 있습니다. 코드가 존재하는 주소 수를 검증하지 않고 라우팅 헤더 필드를 그대로 신뢰했기 때문에, 조작된 패킷으로 내부 포인터가 범위를 크게 벗어나 버퍼 밖에 쓰기가 발생합니다.
- TUNderflow는 TUN 및 TAP 가상 네트워크 장치에 있습니다. 하나의 값이 여분 공간과 크기 모두로 사용됐는데, Open vSwitch를 통해 과도하게 큰 값이 전달되면 크기 계산이 래핑(wrap-around)되어 패킷 데이터가 버퍼 밖에 저장됩니다.
- PPPoEject는 PPP over Ethernet(PPPoE) 코드에 있습니다. 장치 루틴을 호출하는 동안 네트워크 버퍼에 대한 포인터를 유지했는데, 해당 루틴이 버퍼를 해제하고 이동시킬 수 있어 이후 쓰기 작업이 이미 해제된 메모리를 참조하게 됩니다. 이를 use-after-free 버그라고 합니다.
- DiagSpill은 SCTP 보고 코드에 있습니다. 연결 엔드포인트를 추적하는 카운터가 16비트로만 구성돼 있어, 65,536번째 엔드포인트에서 다시 0으로 돌아갑니다. 보고 코드는 그런 다음 공간을 전혀 할당하지 않은 채 전체 목록을 복사해, 약 8 MiB의 데이터를 버퍼 끝 너머에 기록합니다.
AI 보조 연구 과정
Manizada는 커널이 메모리를 처리하는 방식의 맵을 구축하고 그 레이아웃을 추론하는 AI 보조 프로세스를 통해 네 가지 취약점을 발견했다고 밝혔습니다. DirtyAH6에 대한 커널 수정 커밋에는 이를 기록한 "Assisted-by" 줄이 포함돼 그의 커스텀 AI 도구를 공로로 명시했습니다.
이는 2026년 내내 공개된 리눅스 커널 권한 상승 취약점의 연장선으로, 그 중 다수가 거대 언어 모델의 도움으로 발견됐습니다. Manizada는 유사한 Open vSwitch 취약점인 OVSwrap을 7월에 공개한 바 있습니다.
새 익스플로잇 중 하나는 또한 다른 연구자가 5월에 공개한 리눅스 커널 루트 취약점 Dirty Frag의 기법을 재활용했습니다. Manizada는 분석 문서에서 이번 공개 발표가 자신의 AI 보조 버그 사냥 공개 단계를 마무리하는 것이라고 밝혔습니다.
관련 투런 솔루션
이 뉴스의 취약점·위협, 투런 솔루션으로 대응하세요.






