🔍 CVE-2025-39736

5.5
CVSS Score
MEDIUM
2025-09-11
2026-11-05 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 메모리 누수 감지(kmemleak) 모듈에서 netpoll 활성화 시 lock inversion으로 인한 데드락 취약점입니다. pr_warn_once() 호출 중 kmemleak_lock을 재획득하려 하면서 시스템이 멈춰 DoS 상태가 됩니다. 패치는 경고 출력을 lock 해제 후로 미뤄 해결합니다.

💡 쉬운 설명

Linux가 메모리 누수를 감시할 때 특정 조건에서 경고를 출력하면서 시스템이 무한 대기 상태에 빠지는 문제입니다. 경고 메시지를 나중에 출력하도록 변경하여 수정됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm/kmemleak: avoid deadlock by moving pr_warn() outside kmemleak_lock When netpoll is enabled, calling pr_warn_once() while holding kmemleak_lock in mem_pool_alloc() can cause a deadlock due to lock inversion with the netconsole subsystem. This occurs because pr_warn_once() may trigger netpoll, which eventually leads to __alloc_skb() and back into kmemleak code, attempting to reacquire kmemleak_lock. This is the path for the deadlock. mem_pool_alloc() -> raw_spin_lock_irqsave(&kmemleak_lock, flags); -> pr_warn_once() -> netconsole subsystem -> netpoll -> __alloc_skb -> __create_object -> raw_spin_lock_irqsave(&kmemleak_lock, flags); Fix this by setting a flag and issuing the pr_warn_once() after kmemleak_lock is released.

📍 영향받는 시스템

netpoll 활성화된 Linux 커널 (mm/kmemleak 모듈 포함 버전)

⚔️ 공격 벡터

netpoll 활성화 + 특정 메모리 할당 시나리오에서 자동 트리거 (직접 공격 불가, 설정 기반 DoS)

🛡️ 대응 방법

Linux 커널을 CVE-2025-39736 패치가 포함된 버전으로 업데이트

🔧 검증 코드

=y이면 netpoll이 활성화되어 있으므로 커널 업데이트 필요; =n이면 영향 없음

Shell / Script
grep -i netpoll /boot/config-$(uname -r) | grep -E 'CONFIG_NETPOLL|CONFIG_NETCONSOLE'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel