CVE-2023-52672

pipe: wakeup wr_wait after setting max_usage

High · published May 17, 2024

CVSS v3.1
7.0
EPSS
0%
Percentile
16.2
In the wild
Unconfirmed
What it is

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

pipe: wakeup wr_wait after setting max_usage

Commit c73be61cede5 ("pipe: Add general notification queue support") a

regression was introduced that would lock up resized pipes under certain

conditions. See the reproducer in [1].

The commit resizing the pipe ring size was moved to a different

function, doing that moved the wakeup for pipe->wr_wait before actually

raising pipe->max_usage. If a pipe was full before the resize occured it

would result in the wakeup never actually triggering pipe_write.

Set @max_usage and @nr_accounted before waking writers if this isn't a

watch queue.

[Christian Brauner <[email protected]>: rewrite to account for watch queues]

The record
Technical detail
CVSS v3.1
7.0 · HIGH
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00255 · 16.2th percentile
Published
2024-05-17T14:02Z
EPSS history
Timeline
  • 17 MAY 14:02Z
    pipe: wakeup wr_wait after setting max_usage
    cvelistv5