🔍 CVE-2025-39870

7.8
CVSS Score
HIGH
2025-09-23
2026-10-19 21:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 dmaengine: idxd 구성 요소에서 idxd_setup_wqs() 함수 호출 시 발생하는 이중 해제(Double Free) 취약점입니다. 오류 처리 과정에서 초기화되지 않은 장치 객체를 해제하거나, 메모리 할당 실패 시 이전 반복문의 객체를 다시 해제하여 시스템 불안정성을 초래할 수 있습니다.

💡 쉬운 설명

컴퓨터의 핵심 부품인 커널이 메모리를 정리하는 과정에서 실수로 이미 지운 메모리를 또 지우려고 시도하는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 보안 공격에 취약해질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Fix double free in idxd_setup_wqs() The clean up in idxd_setup_wqs() has had a couple bugs because the error handling is a bit subtle. It's simpler to just re-write it in a cleaner way. The issues here are: 1) If "idxd->max_wqs" is <= 0 then we call put_device(conf_dev) when "conf_dev" hasn't been initialized. 2) If kzalloc_node() fails then again "conf_dev" is invalid. It's either uninitialized or it points to the "conf_dev" from the previous iteration so it leads to a double free. It's better to free partial loop iterations within the loop and then the unwinding at the end can handle whole loop iterations. I also renamed the labels to describe what the goto does and not where the goto was located.

📍 영향받는 시스템

Linux kernel (dmaengine: idxd 모듈 사용 시스템)

⚔️ 공격 벡터

특정 조건에서 idxd 설정을 유도하여 커널 메모리 오류를 일으키는 로컬 공격

🛡️ 대응 방법

idxd_setup_wqs() 오류 처리가 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel