{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-47132","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-03-04T18:12:48.840Z","datePublished":"2024-03-15T20:14:35.337Z","dateUpdated":"2026-08-05T08:46:14.316Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:46:14.316Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmptcp: fix sk_forward_memory corruption on retransmission\n\nMPTCP sk_forward_memory handling is a bit special, as such field\nis protected by the msk socket spin_lock, instead of the plain\nsocket lock.\n\nCurrently we have a code path updating such field without handling\nthe relevant lock:\n\n__mptcp_retrans() -> __mptcp_clean_una_wakeup()\n\nSeveral helpers in __mptcp_clean_una_wakeup() will update\nsk_forward_alloc, possibly causing such field corruption, as reported\nby Matthieu.\n\nAddress the issue providing and using a new variant of blamed function\nwhich explicitly acquires the msk spin lock."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The bug is in the MPTCP protocol path (net/mptcp/); a remote MPTCP peer can induce retransmission (withheld/delayed ACKs or loss) and concurrently send packets that update sk_forward_alloc in softirq, reaching the unlocked clean_una path.\nAC:L - The attacker controls both sides of the race—triggering MPTCP-level retransmission while sending traffic that races on sk_forward_alloc under mptcp_data_lock—so success does not depend on conditions outside attacker influence.\nPR:N - No local privileges are required; an unauthenticated remote peer of an MPTCP connection (e.g., client to an internet-facing MPTCP service) can drive the retransmission and concurrent RX accounting paths.\nUI:N - Exploitation needs no victim user action beyond an existing or attacker-initiated MPTCP session; packet timing alone triggers the race.\nS:U - Impact is confined to the vulnerable host kernel’s socket memory accounting; there is no cross-boundary escape (VM/IOMMU/sandbox).\nC:N - The race only corrupts the sk_forward_alloc accounting counter; it does not provide an information disclosure or arbitrary read primitive.\nI:N - This is integer memory-accounting corruption (WARN_ON leftovers / reclaim imbalance), not an OOB write, UAF, or other primitive that yields controlled data modification or code execution.\nA:H - Corrupted sk_forward_alloc leads to sk_stream_kill_queues/inet_sock_destruct WARN_ON (and potential panic_on_warn) plus broken reclaim that can exhaust or mis-account socket memory, causing high availability impact."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mptcp/protocol.c"],"versions":[{"version":"64b9cea7a0afe579dd2682f1f1c04f2e4e72fd25","lessThan":"b9c78b1a95966a7bd2ddae05b73eafc0cda4fba3","status":"affected","versionType":"git"},{"version":"64b9cea7a0afe579dd2682f1f1c04f2e4e72fd25","lessThan":"b5941f066b4ca331db225a976dae1d6ca8cf0ae3","status":"affected","versionType":"git"},{"version":"96db8ffef07516a6d7414b6988f2a4298a839977","status":"affected","versionType":"git"},{"version":"5.11.4","lessThan":"5.12","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mptcp/protocol.c"],"versions":[{"version":"5.12","status":"affected"},{"version":"0","lessThan":"5.12","status":"unaffected","versionType":"semver"},{"version":"5.12.10","lessThanOrEqual":"5.12.*","status":"unaffected","versionType":"semver"},{"version":"5.13","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"5.12.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"5.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/b9c78b1a95966a7bd2ddae05b73eafc0cda4fba3"},{"url":"https://git.kernel.org/stable/c/b5941f066b4ca331db225a976dae1d6ca8cf0ae3"}],"title":"mptcp: fix sk_forward_memory corruption on retransmission","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2021-47132","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-03-18T15:54:25.829185Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-06-04T17:14:35.969Z"}},{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-04T05:24:40.145Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/b9c78b1a95966a7bd2ddae05b73eafc0cda4fba3","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/b5941f066b4ca331db225a976dae1d6ca8cf0ae3","tags":["x_transferred"]}]}]}}