watch_queue: fix pipe accounting mismatch (Linux Linux)

CVE-2025-23138
MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.21 % · percentile 11 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Analyzed

Description

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

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 162ae0e78bdabf84ef10c1293c4ed7865cb7d3c8 < 8658c75343ed00e5e154ebbe24335f51ba8db547 ; affected 3efbd114b91525bb095b8ae046382197d92126b9 < 471c89b7d4f58bd6082f7c1fe14d4ca15c7f1284 ; affected b87a1229d8668fbc78ebd9ca0fc797a76001c60f < d40e3537265dea9e3c33021874437ff26dc18787 ; affected 68e51bdb1194f11d3452525b99c98aff6f837b24 < 6dafa27764183738dc5368b669b71e3d0d154f12 ; affected e95aada4cb93d42e25c30a0ef9eb2923d9711d4a < 56ec918e6c86c1536870e4373e91eddd0c44245f ; affected e95aada4cb93d42e25c30a0ef9eb2923d9711d4a < 2d680b988656bb556c863d8b46d9b9096842bf3d
Linux · Linuxaffected 6.8 ; unaffected 0 < 6.8 ; unaffected 5.10.236 ≤ 5.10.* ; unaffected 5.15.180 ≤ 5.15.* ; unaffected 6.1.134 ≤ 6.1.* ; unaffected 6.6.87 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD