CVE-2024-26826
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
17/04/2024
Last modified:
27/03/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mptcp: fix data re-injection from stale subflow<br />
<br />
When the MPTCP PM detects that a subflow is stale, all the packet<br />
scheduler must re-inject all the mptcp-level unacked data. To avoid<br />
acquiring unneeded locks, it first try to check if any unacked data<br />
is present at all in the RTX queue, but such check is currently<br />
broken, as it uses TCP-specific helper on an MPTCP socket.<br />
<br />
Funnily enough fuzzers and static checkers are happy, as the accessed<br />
memory still belongs to the mptcp_sock struct, and even from a<br />
functional perspective the recovery completed successfully, as<br />
the short-cut test always failed.<br />
<br />
A recent unrelated TCP change - commit d5fed5addb2b ("tcp: reorganize<br />
tcp_sock fast path variables") - exposed the issue, as the tcp field<br />
reorganization makes the mptcp code always skip the re-inection.<br />
<br />
Fix the issue dropping the bogus call: we are on a slow path, the early<br />
optimization proved once again to be evil.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15 (including) | 5.15.149 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.79 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.7.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/624902eab7abcb8731b333ec73f206d38d839cd8
- https://git.kernel.org/stable/c/6673d9f1c2cd984390550dbdf7d5ae07b20abbf8
- https://git.kernel.org/stable/c/6f95120f898b40d13fd441225ef511307853c9c2
- https://git.kernel.org/stable/c/b609c783c535493aa3fca22c7e40a120370b1ca5
- https://git.kernel.org/stable/c/b6c620dc43ccb4e802894e54b651cf81495e9598
- https://git.kernel.org/stable/c/624902eab7abcb8731b333ec73f206d38d839cd8
- https://git.kernel.org/stable/c/6673d9f1c2cd984390550dbdf7d5ae07b20abbf8
- https://git.kernel.org/stable/c/6f95120f898b40d13fd441225ef511307853c9c2
- https://git.kernel.org/stable/c/b609c783c535493aa3fca22c7e40a120370b1ca5
- https://git.kernel.org/stable/c/b6c620dc43ccb4e802894e54b651cf81495e9598



