🔍 CVE-2026-63907

0.0
CVSS Score
UNKNOWN
2026-07-19
2026-07-27 17:44
✅ 완료

🇰🇷 한글 설명

Linux 커널의 uio_pci_generic_sva 드라이버에서 devm_kzalloc()으로 할당된 메모리를 중복 해제하는 취약점이 발견되었습니다. probe() 실패 시 에러 경로와 remove() 함수에서 각각 kfree()를 호출하여, 자동 관리되는 devres 시스템과 충돌하며 double free가 발생합니다.

💡 쉬운 설명

컴퓨터 메모리를 관리하는 과정에서 이미 삭제된 메모리를 한 번 더 삭제하려고 시도하는 오류가 있습니다. 이로 인해 시스템이 불안정해지거나 예기치 않게 종료될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: uio: uio_pci_generic_sva: fix double free of devm_kzalloc() memory uio_pci_sva allocates struct uio_pci_sva_dev with devm_kzalloc() in probe(), but then calls kfree(udev) both on the probe() error path (label out_free) and again in remove(). Because devm_kzalloc() allocations are devres-managed and are freed automatically when the device is detached (including after a failing probe() and during driver unbind), the explicit kfree() can lead to a double free. If probe() fails after devm_kzalloc(), the error path frees udev and devres cleanup will free it again when the core unwinds the partially bound device. On normal driver removal, remove() frees udev and devres will free it again when the device is detached. This issue was identified by a static analysis tool I developed and confirmed by manual review. Fix by removing the manual kfree() calls and dropping the now-unused label.

📍 영향받는 시스템

Linux kernel (uio_pci_generic_sva 드라이버 사용 환경)

⚔️ 공격 벡터

로컬 공격자가 특정 드라이버 로드/언로드 과정을 유도하여 메모리 오류를 일으킬 수 있음

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 중복 kfree() 코드를 제거해야 함

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel