221 lines
11 KiB
JSON
221 lines
11 KiB
JSON
{
|
||
"dataType": "CVE_RECORD",
|
||
"dataVersion": "5.2",
|
||
"cveMetadata": {
|
||
"cveId": "CVE-2021-47152",
|
||
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
||
"state": "PUBLISHED",
|
||
"assignerShortName": "Linux",
|
||
"dateReserved": "2024-03-04T18:12:48.846Z",
|
||
"datePublished": "2024-03-25T09:07:47.235Z",
|
||
"dateUpdated": "2026-08-05T08:46:20.724Z"
|
||
},
|
||
"containers": {
|
||
"cna": {
|
||
"providerMetadata": {
|
||
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
||
"shortName": "Linux",
|
||
"dateUpdated": "2026-08-05T08:46:20.724Z"
|
||
},
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmptcp: fix data stream corruption\n\nMaxim reported several issues when forcing a TCP transparent proxy\nto use the MPTCP protocol for the inbound connections. He also\nprovided a clean reproducer.\n\nThe problem boils down to 'mptcp_frag_can_collapse_to()' assuming\nthat only MPTCP will use the given page_frag.\n\nIf others - e.g. the plain TCP protocol - allocate page fragments,\nwe can end-up re-using already allocated memory for mptcp_data_frag.\n\nFix the issue ensuring that the to-be-expanded data fragment is\nlocated at the current page frag end.\n\nv1 -> v2:\n - added missing fixes tag (Mat)"
|
||
}
|
||
],
|
||
"metrics": [
|
||
{
|
||
"cvssV3_1": {
|
||
"version": "3.1",
|
||
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
|
||
"baseScore": 7.8,
|
||
"baseSeverity": "HIGH"
|
||
},
|
||
"scenarios": [
|
||
{
|
||
"lang": "en",
|
||
"value": "AV:L - The bug is in mptcp_sendmsg’s page_frag collapse/carve logic, reached via local sendmsg/sendto on an MPTCP socket (syscall path), not by parsing unsolicited received packets.\nAC:L - An unprivileged attacker who opens MPTCP (and/or TCP) sockets in one process fully controls shared current->task_frag interleaving and can reliably force the false collapse and overlapping reuse; no victim-only timing or layout is required.\nPR:L - Creating IPPROTO_MPTCP sockets needs only net.mptcp.enabled (default on when CONFIG_MPTCP is built); no CAP_NET_ADMIN or init-namespace root is required along the send path.\nUI:N - The attacker triggers the vulnerable sendmsg path themselves on their own sockets; no separate victim action is required.\nS:U - Impact is kernel memory/list corruption and DoS within the same host OS authority—standard local kernel compromise, not a VM/IOMMU/sandbox boundary cross.\nC:H - False collapse lets attacker-controlled send data overwrite in-page mptcp_data_frag fields (page/offset/list); corrupted frags can then be transmitted via tcp_build_frag, and the heap/list corruption is further leverageable for disclosure.\nI:H - Overlapping writes corrupt adjacent mptcp_data_frag list_head and related state (CWE-787), enabling list_add/list_del corruption and arbitrary-write primitives as seen in the reported list_add BUG paths.\nA:H - The same corruption produced kernel BUG_ON list_add/list_del failures, soft lockups at 100% CPU, and host hangs/panics in the documented reproducer."
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"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": "18b683bff89d46ace55f12d00c0440d44d6160c4",
|
||
"lessThan": "3267a061096efc91eda52c2a0c61ba76e46e4b34",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "18b683bff89d46ace55f12d00c0440d44d6160c4",
|
||
"lessThan": "18e7f0580da15cac1e79d73683ada5a9e70980f8",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "18b683bff89d46ace55f12d00c0440d44d6160c4",
|
||
"lessThan": "29249eac5225429b898f278230a6ca2baa1ae154",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"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.7",
|
||
"status": "affected"
|
||
},
|
||
{
|
||
"version": "0",
|
||
"lessThan": "5.7",
|
||
"status": "unaffected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.10.42",
|
||
"lessThanOrEqual": "5.10.*",
|
||
"status": "unaffected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.12.9",
|
||
"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.7",
|
||
"versionEndExcluding": "5.10.42"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.7",
|
||
"versionEndExcluding": "5.12.9"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.7",
|
||
"versionEndExcluding": "5.13"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"references": [
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/3267a061096efc91eda52c2a0c61ba76e46e4b34"
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/18e7f0580da15cac1e79d73683ada5a9e70980f8"
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/29249eac5225429b898f278230a6ca2baa1ae154"
|
||
}
|
||
],
|
||
"title": "mptcp: fix data stream corruption",
|
||
"x_generator": {
|
||
"engine": "bippy-1.2.0"
|
||
}
|
||
},
|
||
"adp": [
|
||
{
|
||
"providerMetadata": {
|
||
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
|
||
"shortName": "CVE",
|
||
"dateUpdated": "2024-08-04T05:24:39.850Z"
|
||
},
|
||
"title": "CVE Program Container",
|
||
"references": [
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/3267a061096efc91eda52c2a0c61ba76e46e4b34",
|
||
"tags": [
|
||
"x_transferred"
|
||
]
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/18e7f0580da15cac1e79d73683ada5a9e70980f8",
|
||
"tags": [
|
||
"x_transferred"
|
||
]
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/29249eac5225429b898f278230a6ca2baa1ae154",
|
||
"tags": [
|
||
"x_transferred"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"metrics": [
|
||
{
|
||
"other": {
|
||
"type": "ssvc",
|
||
"content": {
|
||
"id": "CVE-2021-47152",
|
||
"role": "CISA Coordinator",
|
||
"options": [
|
||
{
|
||
"Exploitation": "none"
|
||
},
|
||
{
|
||
"Automatable": "no"
|
||
},
|
||
{
|
||
"Technical Impact": "partial"
|
||
}
|
||
],
|
||
"version": "2.0.3",
|
||
"timestamp": "2024-09-10T15:54:51.146188Z"
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"title": "CISA ADP Vulnrichment",
|
||
"providerMetadata": {
|
||
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
|
||
"shortName": "CISA-ADP",
|
||
"dateUpdated": "2024-09-11T17:33:55.837Z"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
} |