CVE-2026-23255

MEDIUM EPSS 1.7%
Published Mar 18, 20263mo ago · Modified Jun 17, 20261w ago
5.5 CVSS 3.1
Medium
Find Similar
Published Mar 18, 2026 3mo ago
Last Modified Jun 17, 2026 1w ago

Description

In the Linux kernel, the following vulnerability has been resolved: net: add proper RCU protection to /proc/net/ptype Yin Fengwei reported an RCU stall in ptype_seq_show() and provided a patch. Real issue is that ptype_seq_next() and ptype_seq_show() violate RCU rules. ptype_seq_show() runs under rcu_read_lock(), and reads pt->dev to get device name without any barrier. At the same time, concurrent writers can remove a packet_type structure (which is correctly freed after an RCU grace period) and clear pt->dev without an RCU grace period. Define ptype_iter_state to carry a dev pointer along seq_net_private: struct ptype_iter_state { struct seq_net_private p; struct net_device *dev; // added in this patch }; We need to record the device pointer in ptype_get_idx() and ptype_seq_next() so that ptype_seq_show() is safe against concurrent pt->dev changes. We also need to add full RCU protection in ptype_seq_next(). (Missing READ_ONCE() when reading list.next values) Many thanks to Dong Chenchen for providing a repro.

CVSS Details

Base Score
5.5
Exploitability
1.8
Impact
3.6
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality None
Integrity None
Availability High

Threat Intelligence

EPSS Exploit Probability
1.7% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Affected Products 16

VendorProductVersionRange
linuxlinux_kernel*≥2.6.12.1  –  <6.6.136
linuxlinux_kernel*≥6.7  –  <6.12.80
linuxlinux_kernel*≥6.13  –  <6.18.10
linuxlinux_kernel2.6.12any
linuxlinux_kernel2.6.12any
linuxlinux_kernel2.6.12any
linuxlinux_kernel2.6.12any
linuxlinux_kernel2.6.12any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any
linuxlinux_kernel6.19any

References 5

  • git.kernel.org https://git.kernel.org/stable/c/002a73470b56848e4c81efeaaedd471e92d66d8d
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/589a530ae44d0c80f523fcfd1a15af8087f27d35
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/dcefd3f0b9ed8288654c75254bdcee8e1085e861
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e974a10a52618f7f57a4bce173a0ed96acd4e5dc
  • git.kernel.org https://git.kernel.org/stable/c/f613e8b4afea0cd17c7168e8b00e25bc8d33175d
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/002a73470b56848e4c81efeaaedd471e92d66d8d
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/589a530ae44d0c80f523fcfd1a15af8087f27d35
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/dcefd3f0b9ed8288654c75254bdcee8e1085e861
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/f613e8b4afea0cd17c7168e8b00e25bc8d33175d
    Patch