CVE-2026-99203pipe: preserve existing fasync readers on writer setup failure
- 7.8HighCVSS base score
- 0.12%Exploitation in 30 daysEPSS · top 98% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- NonePublic exploitsnone known yet
Description
In the Linux kernel, the following vulnerability has been resolved: pipe: preserve existing fasync readers on writer setup failure F_SETFL and FIOASYNC decide whether to invoke ->fasync() before pipe_fasync() takes pipe->mutex. Two enables of one O_RDWR FIFO can therefore both enter the callback. fasync_helper() allocates before checking for an existing entry. If the first enable installs both entries, a second enable can update the reader entry and then fail the allocation for the writer entry. The error path removes the pre-existing reader entry, clearing FASYNC while the writer entry remains registered. __fput() then skips ->fasync(), so a later pipe notification can dereference the freed file or its f_owner. An unprivileged memory-pressure reproducer triggers a KASAN slab-use-after-free in send_sigio() through this path. Keep the reader helper's result and undo the registration only if this call added it. The pipe mutex serializes changes to both lists, so a failed new registration still removes its reader, while a failed duplicate preserves the existing registrations and FASYNC. Successful duplicate enables continue to update fa_fd as before.
Timeline
ID reserved
By Linux
- 33 days later
· 33 days later
Published
- 3 days later
· 3 days later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| LinuxCNA (assigner) | 3.1 | High7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVDNVD · Received | 3.1 | High7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 0.12% · top 98% of all CVEs (15 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.8.
Affected products
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 6041bcd185d4df051490fe166e64feae6c3b8291
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 7cdbfa22a7e270b155ddb958b1583a999c0c8abb
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 22c7f57b0c0b0b8e19cfb41a1bd85f55715ad386
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 94be790dd6fbe0912f35bb711bea8ef3687eaca9
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 9b0aa2a1d8df51f3dcb363c3a2d9531098e88dc6
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 4c42ce499ce4b1c787e61082e3b13df4f30c4eaa
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 2259809e5b7043c4ba20af7b14ba3e471cf55521
- affected 76398425bb06b07cc3a3b1ce169c67dc9d6874ed – < 40bb03d3ea6f6a915218508819ecc4d7a7fa260d
- affected 2.6.30
- unaffected < 2.6.30
- unaffected 5.10.273 – ≤ 5.10.*
- unaffected 5.15.224 – ≤ 5.15.*
- unaffected 6.1.191 – ≤ 6.1.*
- unaffected 6.6.161 – ≤ 6.6.*
- unaffected 6.12.115 – ≤ 6.12.*
- unaffected 6.18.59 – ≤ 6.18.*
- unaffected 7.2.13 – ≤ 7.2.*
- unaffected 7.3 – ≤ *
References
References8
- https://git.kernel.org/stable/c/6041bcd185d4df051490fe166e64feae6c3b8291 (opens in a new tab)
- https://git.kernel.org/stable/c/7cdbfa22a7e270b155ddb958b1583a999c0c8abb (opens in a new tab)
- https://git.kernel.org/stable/c/22c7f57b0c0b0b8e19cfb41a1bd85f55715ad386 (opens in a new tab)
- https://git.kernel.org/stable/c/94be790dd6fbe0912f35bb711bea8ef3687eaca9 (opens in a new tab)
- https://git.kernel.org/stable/c/9b0aa2a1d8df51f3dcb363c3a2d9531098e88dc6 (opens in a new tab)
- https://git.kernel.org/stable/c/4c42ce499ce4b1c787e61082e3b13df4f30c4eaa (opens in a new tab)
- https://git.kernel.org/stable/c/2259809e5b7043c4ba20af7b14ba3e471cf55521 (opens in a new tab)
- https://git.kernel.org/stable/c/40bb03d3ea6f6a915218508819ecc4d7a7fa260d (opens in a new tab)
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2026-111955 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2026-99203)Record last updated .