CVE-2025-39673

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.17:rc2:*:*:*:*:*:*

Configuration 2 (hide)

cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*

History

19 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: ppp: corregir condiciones de carrera en ppp_fill_forward_path ppp_fill_forward_path() tiene dos condiciones de carrera: 1. La lista ppp->channels puede cambiar entre list_empty() y list_first_entry(), ya que ppp_lock() no está retenido. Si el único canal es eliminado en ppp_disconnect_channel(), list_first_entry() puede acceder a una cabecera vacía o a una entrada liberada, y desencadenar un pánico. 2. pch->chan puede ser NULL. Cuando se llama a ppp_unregister_channel(), pch->chan se establece en NULL antes de que pch sea eliminado de ppp->channels. Corregir esto utilizando un enfoque RCU sin bloqueo: - Usar list_first_or_null_rcu() para probar y acceder de forma segura a la primera entrada de la lista. - Convertir las modificaciones de la lista en ppp->channels a sus variantes RCU y añadir synchronize_net() después de la eliminación. - Comprobar si pch->chan es NULL antes de desreferenciarlo.

Information

Published : 2025-09-05 18:15

Updated : 2026-10-19 21:10


NVD link : CVE-2025-39673

Mitre link : CVE-2025-39673

CVE.ORG link : CVE-2025-39673


JSON object : View

Products Affected

debian

  • debian_linux

linux

  • linux_kernel
CWE
CWE-362

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')