[단독분석] 분석 — CVE-2025-21731
CVE-2025-21731 is a high‑severity use‑after‑free bug in the Linux NBD driver that can be mitigated by applying the upstream kernel patch or disabling the NBD module.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00219 · 악용난이도 hard
🔍 공격 기법
- 로컬 사용자가 netlink을 이용해 nbd 디바이스를 연결·연결 해제한다.
nbd_genl_disconnect()가 호출되어recv_work큐를 플러시하고 초기 레퍼런스를 해제하지만, 이전 단계에서 임시로 잡아 둔nbd_config의 참조 카운트가 0이 되지 않는다.- 동일한 세션에서
nbd_genl_reconfigure()가 다시 실행돼recv_work를 재큐잉한다. - 최초에 잡은 레퍼런스가 해제되면서
nbd_config객체가 자유화되고, 이후 큐에 남아 있던recv_work가 실행될 때 UAF(Use‑After‑Free)가 발생한다.
이 과정은 로컬 권한(PR:L) 과 낮은 난이도(AC:L) 로 수행 가능하며, UI 요구가 없으므로 자동화된 스크립트에도 적합합니다.
악용 가능성: 이 취약점은 로컬에서 nbd 넷링크 인터페이스에 접근할 수 있는 환경이면 공격이 가능하므로 AV:L (로컬)이며, 연결·해제 순서를 조작하는 단순한 API 호출만으로 재현될 수 있어 AC:L (낮은 복잡도)입니다. 권한 요구가 PR:L (일반 사용자 수준)이고 UI:N (사용자 개입 없음)이므로, 일반 사용자가 악의적인 스크립트를 실행하거나 쉘을 얻은 뒤 바로 이용할 수 있습니다. EPSS 값이 0.00219 로 매우 낮지만, 이는 현재 관측된 공격 시도가 적다는 의미일 뿐, 로컬 권한만 있으면 재현 가능한 UAF 버그라는 점에서 실제 위협으로 간주됩니다. KEV에 등재되지 않았다는 것은 아직 대규모 악용이 보고되지 않았음을 뜻하지만, 취약점 자체가 커널 수준 메모리 오류를 일으키므로 공격자가 루트 권한을 획득하는 privilege‑escalation 경로가 될 가능성이 있습니다. 트리거 조건은 nbd_genl_disconnect() 후 nbd_genl_reconfigure() 를 연속 호출해 recv_workq 에 작업을 재큐잉할 때 발생하며, 노출되는 공격 표면은 Linux kernel 내 NBD 드라이버와 해당 넷링크 명령어 인터페이스입니다. 따라서 로컬 사용자라면 nbd‑config 파일 또는 /dev/nbdX 디바이스에 접근 가능한 환경에서만 이 취약점을 이용할 수 있습니다.
💥 영향 분석
- 기술적 위험: UAF 로 인해 커널 주소 공간에서 임의 코드를 실행할 수 있어 전체 시스템 장악·루트 권한 획득이 가능합니다. 또한 객체 해제로 인한 커널 패닉(OOPS) 발생 시 서비스 중단(DoS)도 초래됩니다.
- 비즈니스 위험: 시스템 전반의 가용성 상실, 데이터 무결성 훼손 및 규제·컴플라이언스 위반 가능성이 존재합니다. 특히 클라우드 인프라나 컨테이너 호스트와 같이 다수의 워크로드가 공유되는 환경에서는 광범위한 서비스 영향이 예상됩니다.
- 노출 규모: 영향을 받는 커널 버전은 4.12‑5.4.291, 5.5‑5.10.235, 5.11‑5.15.179, 5.16‑6.1.129, 6.2‑6.6.76, 6.7‑6.12.13, 6.13‑6.13.2 로 다양한 배포판에 걸쳐 광범위하게 사용됩니다. 다중 소스에서 일관성이 확인됐으며(교차검증), 공급망 특성상 영향을 받는 시스템 수가 많을 가능성이 높습니다.
🔗 관련 취약점·체이닝
- 동일한 메모리 손상(Use‑After‑Free) 패턴은 다른 커널 서브시스템의 netlink 인터페이스와 결합될 경우 권한 상승 체인에 활용될 수 있습니다. 현재 확인된 구체적 CVE 번호는 없으나, “nbd” 모듈을 이용한 공격이 성공하면 이후 단계에서 커널 코드 인젝션이나 루트킷 로드 등으로 확장될 위험이 존재합니다.
🔎 탐지
dmesg·/var/log/kern.log에서 “nbd_config freed” 혹은 “use after free” 와 같은 OOPS 메시지가 기록되는 경우.- Audit 로그에서
netlinkNBDS_GENL_RECONFIGURE가 disconnect 후 바로 호출된 패턴을 감시. - 시스템 콜 트레이스(e.g.,
perf trace,ftrace) 로nbd_genl_disconnect→nbd_genl_reconfigure순서가 비정상적으로 연속되는 경우 경고 신호로 활용.
🛡️ 완화 방안
- 패치 적용: 최신 커널(예: 6.13.3 이상) 혹은 배포판에서 제공하는 보안 업데이트를 즉시 설치합니다.
- 모듈 비활성화: NBD 기능이 필요하지 않은 경우
modprobe.blacklist=nbd로 블랙리스트에 추가하거나rmmod nbd로 언로드합니다. - 접근 제어 강화: Netlink 인터페이스에 대한 권한을 최소화하고, SELinux/AppArmor 정책으로 NBD 모듈의 실행을 제한합니다.
- 모니터링 및 대응: 위 탐지 지표를 SIEM·EDR 에 연동해 실시간 알림을 설정하고, 커널 패닉 발생 시 자동 재부팅 또는 롤백 절차를 마련합니다.
이 보고서는 다중 소스 교차검증(일관성 확인), EPSS 0.00219 기반 실제 악용 가능성 평가, 그리고 규칙 기반 우선순위 결정(고점수 CVSS·넓은 제품군·hard exploit) 과정을 모두 반영하여 작성되었습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00219 · exploit=hard · in_scope=None