CVE-2025-23138

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
16/04/2025
Last modified:
04/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> watch_queue: fix pipe accounting mismatch<br /> <br /> Currently, watch_queue_set_size() modifies the pipe buffers charged to<br /> user-&gt;pipe_bufs without updating the pipe-&gt;nr_accounted on the pipe<br /> itself, due to the if (!pipe_has_watch_queue()) test in<br /> pipe_resize_ring(). This means that when the pipe is ultimately freed,<br /> we decrement user-&gt;pipe_bufs by something other than what than we had<br /> charged to it, potentially leading to an underflow. This in turn can<br /> cause subsequent too_many_pipe_buffers_soft() tests to fail with -EPERM.<br /> <br /> To remedy this, explicitly account for the pipe usage in<br /> watch_queue_set_size() to match the number set via account_pipe_buffers()<br /> <br /> (It&amp;#39;s unclear why watch_queue_set_size() does not update nr_accounted;<br /> it may be due to intentional overprovisioning in watch_queue_set_size()?)

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.210 (including) 5.10.236 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.149 (including) 5.15.180 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.76 (including) 6.1.134 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.15 (including) 6.6.87 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7.3 (including) 6.12.23 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.13.11 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.14 (including) 6.14.2 (excluding)
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*