CVE Catalog

CVE-2025-39736

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

3th percentile - higher than 3% of all known CVEs

Summary

In the Linux kernel mm/kmemleak, calling pr_warn_once() while holding kmemleak_lock in mem_pool_alloc() can cause a deadlock with the netconsole subsystem due to lock inversion. The fix sets a flag and issues pr_warn_once() after kmemleak_lock is released.

Risk Assessment

With netpoll enabled, the system may experience a kernel deadlock, leading to system hang and loss of service availability.

Recommendation

Update the Linux kernel to a version with the fix, especially on systems using netconsole/netpoll and kmemleak.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS