CVE-2023-52501

ring-buffer: Do not attempt to read past "commit"

State
Published
Severity
Not scored
Published
Mar 2, 2024
Updated
May 11, 2026
Reserved
Feb 20, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

ring-buffer: Do not attempt to read past "commit"

When iterating over the ring buffer while the ring buffer is active, the writer can corrupt the reader. There's barriers to help detect this and handle it, but that code missed the case where the last event was at the very end of the page and has only 4 bytes left.

The checks to detect the corruption by the writer to reads needs to see the length of the event. If the length in the first 4 bytes is zero then the length is stored in the second 4 bytes. But if the writer is in the process of updating that code, there's a small window where the length in the first 4 bytes could be zero even though the length is only 4 bytes. That will cause rb_event_length() to read the next 4 bytes which could happen to be off the allocated page.

To protect against this, fail immediately if the next event pointer is less than 8 bytes from the end of the commit (last byte of data), as all events must be a minimum of 8 bytes anyway.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 785888c544e0433f601df18ff98a3215b380b9c3 to before cee5151c5410e868826b8afecfb356f3799ebea3Affected
  • 785888c544e0433f601df18ff98a3215b380b9c3 to before 344f2f3e61a90f0150c754796ec9a17fcaeec03dAffected
  • 785888c544e0433f601df18ff98a3215b380b9c3 to before b08a4938229dbb530a35c41b83002a1457c6ff49Affected
  • 785888c544e0433f601df18ff98a3215b380b9c3 to before 75fc9e99b3a71006720ad1e029db11a4b5c32d4aAffected
  • 785888c544e0433f601df18ff98a3215b380b9c3 to before 95a404bd60af6c4d9d8db01ad14fe8957ece31caAffected
LinuxLinux
  • 5.7Affected
  • before 5.7Not affected
  • 5.10.198 through 5.10.*Not affected
  • 5.15.134 through 5.15.*Not affected
  • 6.1.56 through 6.1.*Not affected
  • 6.5.6 through 6.5.*Not affected
  • 6.6 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.