CVE Catalog

CVE-2025-39673

CriticalCVSS 9.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.28%

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

Summary

In the Linux kernel ppp driver, ppp_fill_forward_path() had two race conditions: the channel list could change without locking, and pch->chan could be NULL, leading to kernel panics.

Risk Assessment

This vulnerability could allow a local attacker to trigger a system crash (kernel panic) by manipulating PPP connections.

Recommendation

Apply the Linux kernel patch that uses an RCU approach for safe list access and checks for NULL before dereferencing pch->chan.

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ppp: fix race conditions in ppp_fill_forward_path ppp_fill_forward_path() has two race conditions: 1. The ppp->channels list can change between list_empty() and list_first_entry(), as ppp_lock() is not held. If the only channel is deleted in ppp_disconnect_channel(), list_first_entry() may access an empty head or a freed entry, and trigger a panic. 2. pch->chan can be NULL. When ppp_unregister_channel() is called, pch->chan is set to NULL before pch is removed from ppp->channels. Fix these by using a lockless RCU approach: - Use list_first_or_null_rcu() to safely test and access the first list entry. - Convert list modifications on ppp->channels to their RCU variants and add synchronize_net() after removal. - Check for a NULL pch->chan before dereferencing it.

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