CVE-2026-23255

net: add proper RCU protection to /proc/net/ptype

State
Published
Severity
Not scored
Published
Mar 18, 2026
Updated
Oct 15, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before e974a10a52618f7f57a4bce173a0ed96acd4e5dcAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 002a73470b56848e4c81efeaaedd471e92d66d8dAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before dcefd3f0b9ed8288654c75254bdcee8e1085e861Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 589a530ae44d0c80f523fcfd1a15af8087f27d35Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before f613e8b4afea0cd17c7168e8b00e25bc8d33175dAffected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.136 through 6.6.*Not affected
  • 6.12.80 through 6.12.*Not affected
  • 6.18.10 through 6.18.*Not affected
  • 6.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.