CVE-2021-47132 mptcp: fix sk_forward_memory corruption on retransmission
A race condition in the Linux kernel MPTCP implementation can corrupt memory, potentially leading to denial of service or code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2021-47132?
CVE-2021-47132 is a high-severity memory corruption vulnerability in Linux kernel, published on 15 Mar 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
mptcp: fix sk_forward_memory corruption on retransmission
MPTCP sk_forward_memory handling is a bit special, as such field is protected by the msk socket spin_lock, instead of the plain socket lock.
Currently we have a code path updating such field without handling the relevant lock:
__mptcp_retrans() -> __mptcp_clean_una_wakeup()
Several helpers in __mptcp_clean_una_wakeup() will update sk_forward_alloc, possibly causing such field corruption, as reported by Matthieu.
Address the issue providing and using a new variant of blamed function which explicitly acquires the msk spin lock.
Weakness: CWE-787
Which versions are affected by CVE-2021-47132?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2021-47132?
No fix has been published for CVE-2021-47132 yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2021-47132 being exploited?
There is no known exploitation of CVE-2021-47132 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as GHSA-48qq-74v6-m9rv, UBUNTU-CVE-2021-47132.