🔍 CVE-2026-80698

0.0
CVSS Score
UNKNOWN
2026-08-28
2026-10-21 13:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 dmaengine:idxd 드라이버에서 wq, engine, group 구조체에 대한 이중 해제(double free) 취약점이 발견되었습니다. 설정 오류 경로 및 정리 함수에서 put_device() 호출 후 kfree()를 중복으로 호출하여 이미 해제된 메모리에 다시 접근하는 문제가 발생합니다.

💡 쉬운 설명

컴퓨터가 사용하던 메모리를 정리할 때, 이미 버린 메모리를 실수로 한 번 더 버리려고 시도하는 오류입니다. 이 과정에서 시스템이 충돌하거나 보안 문제가 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: fix double free of wq, engine, and group structs The release callbacks for wq, engine, and group devices (idxd_conf_wq_release, idxd_conf_engine_release, idxd_conf_group_release) each call kfree() on the enclosing struct. The setup error paths and cleanup functions also call kfree() explicitly after put_device(), producing a double free whenever put_device() drops the reference count to zero and fires the release. In the setup functions, device_initialize() is called before device_add(), so the reference count is exactly 1 at the error sites. put_device() unconditionally fires the release, which frees the struct; the subsequent explicit kfree() then operates on freed memory. For idxd_setup_wqs(), the wq release callback also owns opcap_bmap and wqcfg. The error unwind additionally freed those fields explicitly before calling put_device(), causing further double frees on both. Remove the redundant explicit kfree() calls from all setup error paths and cleanup functions for wq, engine, and group structs, delegating sole ownership of those allocations to the release callbacks.

📍 영향받는 시스템

Linux kernel (dmaengine:idxd driver 포함 버전)

⚔️ 공격 벡터

로컬 공격자가 특정 장치 설정 오류를 유도하여 커널 메모리 손상을 일으킴

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 중복 kfree() 호출 제거

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel