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

strparser: make sure __strp_recv isn't running before tearing down the parser

The comment above strp_done() claims that if strp is stopped,
strp_recv will no longer be called. That's only true if the caller has
a mechanism (eg locking) to guarantee that strp_recv() calls that
started before strp_stop() have completed by the time we call
strp_done().

This adds a dummy lock_sock/release_sock pair to guarantee that any
in-flight strp_recv() (which runs under either bh_lock_sock or
lock_sock, depending if it's called from ->sk_data_ready or strp_work)
has completed.

Only espintcp can be affected by this race condition, but this patch
makes sure no future user of strp can have the bug.

This could crash on strp->sk ("general mode" of strp), but this mode
has been here for 9 years and has never been used. It'll be gone soon,
no point worrying about it.

Switch the stopped/paused/etc bits to u8's to avoid races between
strp_stop() and strp_pause/unpause().

A reproducer has been published and turns the possible UAF into an
exploit [1].
Published: 2026-10-23
Score: n/a
EPSS: n/a
KEV: No
Impact: Potential Use‑After‑Free leading to memory corruption or crash
Action: Assess Impact
AI Analysis

Impact

A race condition exists between stopping the string parser and the reception routine, which can cause a use‑after‑free or crash. The flaw was discovered by illustrating a reproducer that turns the potential UAF into an exploit. The fix replaces the race with a dummy lock sequence and changes stop/paused bits to prevent concurrent access. This weakness is consistent with a Use‑After‑Free vulnerability and could allow an attacker to trigger a crash or potentially execute arbitrary code if the exploit can be extended.

Affected Systems

The flaw resides in the Linux kernel string parser and is relevant to any kernels that include the espintcp implementation of strp. No specific kernel version range is specified in the provided data, so any installation that uses this code path may be potentially affected.

Risk and Exploitability

The CVSS score is not reported, and EPSS data are unavailable, so the assessed severity cannot be quantified precisely. However, the vulnerability can lead to a kernel crash and potential privilege escalation if an attacker can control the espintcp data flow. The likely attack vector, inferred from the nature of the vulnerability, would involve a network‑based trigger toward a vulnerable espintcp instance. The flaw is not listed in the CISA KEV catalog, indicating no publicly known exploitation, but the presence of a working reproduction suggests that a local or remote attacker could potentially exploit it if they can deliver crafted packets to a running espintcp process.

Generated by OpenCVE AI on October 23, 2026 at 15:47 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the commit fixing the race condition and use-after-free in strparser
  • If an update is not immediately possible, disable or restrict use of the espintcp feature to eliminate the code path that contains the flaw
  • Audit and, if necessary, modify any custom kernel modules that call strp functions to ensure proper locking around strp_stop and strp_recv calls

Generated by OpenCVE AI on October 23, 2026 at 15:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-758

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: strparser: make sure __strp_recv isn't running before tearing down the parser The comment above strp_done() claims that if strp is stopped, strp_recv will no longer be called. That's only true if the caller has a mechanism (eg locking) to guarantee that strp_recv() calls that started before strp_stop() have completed by the time we call strp_done(). This adds a dummy lock_sock/release_sock pair to guarantee that any in-flight strp_recv() (which runs under either bh_lock_sock or lock_sock, depending if it's called from ->sk_data_ready or strp_work) has completed. Only espintcp can be affected by this race condition, but this patch makes sure no future user of strp can have the bug. This could crash on strp->sk ("general mode" of strp), but this mode has been here for 9 years and has never been used. It'll be gone soon, no point worrying about it. Switch the stopped/paused/etc bits to u8's to avoid races between strp_stop() and strp_pause/unpause(). A reproducer has been published and turns the possible UAF into an exploit [1].
Title strparser: make sure __strp_recv isn't running before tearing down the parser
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:22:42.234Z

Reserved: 2026-09-25T10:25:14.388Z

Link: CVE-2026-99056

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:29.257

Modified: 2026-10-23T13:17:29.257

Link: CVE-2026-99056

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T16:00:18Z

Weaknesses
  • CWE-758

    Reliance on Undefined, Unspecified, or Implementation-Defined Behavior