CVE-2025-39673CWE-362

CVE-2025-39673

Critical · published September 5, 2025

CVSS v3.1
9.8
EPSS
0%
Percentile
22.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00308 · 22.4th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2025-09-05T22:15Z
Affected products (8)
ProductVersionsFixed in
linux/linux_kernel≥ 5.13, < 5.15.1905.15.190
linux/linux_kernel≥ 5.16, < 6.1.1496.1.149
linux/linux_kernel≥ 6.2, < 6.6.1036.6.103
linux/linux_kernel≥ 6.7, < 6.12.446.12.44
linux/linux_kernel≥ 6.13, < 6.16.46.16.4
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (8)
EPSS history
Timeline
  • 05 SEP 17:20Z
    ppp: fix race conditions in ppp_fill_forward_path
    cvelistv5