CVE-2021-47137 (GCVE-0-2021-47137)
Vulnerability from cvelistv5
Published
2024-03-25 09:07
Modified
2026-08-05 08:46
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: lantiq: fix memory corruption in RX ring
In a situation where memory allocation or dma mapping fails, an
invalid address is programmed into the descriptor. This can lead
to memory corruption. If the memory allocation fails, DMA should
reuse the previous skb and mapping and drop the packet. This patch
also increments rx drop counter.
References
| URL | Tags | |
|---|---|---|
Impacted products
{
"containers": {
"adp": [
{
"affected": [
{
"cpes": [
"cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "linux_kernel",
"vendor": "linux",
"versions": [
{
"lessThan": "8bb1077448d4",
"status": "affected",
"version": "fe1a56420cf2",
"versionType": "git"
},
{
"lessThan": "5ac72351655f",
"status": "affected",
"version": "fe1a56420cf2",
"versionType": "git"
},
{
"lessThan": "46dd4abced3c",
"status": "affected",
"version": "fe1a56420cf2",
"versionType": "git"
},
{
"lessThan": "c7718ee96dbc",
"status": "affected",
"version": "fe1a56420cf2",
"versionType": "git"
},
{
"status": "affected",
"version": "4.20"
},
{
"lessThanOrEqual": "4.20",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4*",
"status": "affected",
"version": "5.4.124",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10*",
"status": "affected",
"version": "5.10.42",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.12*",
"status": "affected",
"version": "5.12.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "affected",
"version": "5.13",
"versionType": "semver"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
},
{
"other": {
"content": {
"id": "CVE-2021-47137",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-03-25T17:15:32.931685Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-770",
"description": "CWE-770 Allocation of Resources Without Limits or Throttling",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-11-05T16:22:44.933Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-04T05:24:39.977Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/8bb1077448d43a871ed667520763e3b9f9b7975d"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/5ac72351655f8b033a2935646f53b7465c903418"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/46dd4abced3cb2c912916f4a5353e0927db0c4a2"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/c7718ee96dbc2f9c5fc3b578abdf296dd44b9c20"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/lantiq_xrx200.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "8bb1077448d43a871ed667520763e3b9f9b7975d",
"status": "affected",
"version": "fe1a56420cf2ec28c8eceef672b87de0bbe1a260",
"versionType": "git"
},
{
"lessThan": "5ac72351655f8b033a2935646f53b7465c903418",
"status": "affected",
"version": "fe1a56420cf2ec28c8eceef672b87de0bbe1a260",
"versionType": "git"
},
{
"lessThan": "46dd4abced3cb2c912916f4a5353e0927db0c4a2",
"status": "affected",
"version": "fe1a56420cf2ec28c8eceef672b87de0bbe1a260",
"versionType": "git"
},
{
"lessThan": "c7718ee96dbc2f9c5fc3b578abdf296dd44b9c20",
"status": "affected",
"version": "fe1a56420cf2ec28c8eceef672b87de0bbe1a260",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/lantiq_xrx200.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.20"
},
{
"lessThan": "4.20",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.124",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.42",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"version": "5.12.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "5.13",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.124",
"versionStartIncluding": "4.20",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.42",
"versionStartIncluding": "4.20",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.12.9",
"versionStartIncluding": "4.20",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.13",
"versionStartIncluding": "4.20",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: lantiq: fix memory corruption in RX ring\n\nIn a situation where memory allocation or dma mapping fails, an\ninvalid address is programmed into the descriptor. This can lead\nto memory corruption. If the memory allocation fails, DMA should\nreuse the previous skb and mapping and drop the packet. This patch\nalso increments rx drop counter."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - The bug is reached from the XRX200 PMAC receive path (DMA IRQ \u2192 NAPI \u2192 xrx200_poll_rx \u2192 xrx200_hw_receive \u2192 xrx200_alloc_skb) while processing inbound frames; on typical VRX200 gateway deployments this CPU port handles WAN/LAN switch traffic, so a remote peer can trigger it by sending packets.\nAC:L - An attacker can flood traffic to induce memory pressure on constrained VRX200 routers so netdev_alloc_skb or dma_map_single fails during RX refill; once that happens the invalid-descriptor/UAF or NULL-deref path is deterministic, and under the uncertainty rule allocation/mapping failure is treated as low complexity.\nPR:N - No local account or capability is required; any host that can deliver frames to the interface causes RX ring refill with no authentication gate on this path.\nUI:N - Exploitation requires only attacker-sent packets; no victim action such as mounting a filesystem or opening a device is needed.\nS:U - Corruption and crashes occur in the host kernel\u2019s ethernet driver/DMA path within the same security authority; this is not a VM escape or IOMMU/sandbox boundary crossing.\nC:H - On DMA mapping failure the driver programs DMA_MAPPING_ERROR into the RX descriptor and frees the new skb while leaving a dangling ring pointer, yielding a use-after-free plus DMA of attacker-controlled packet bytes to an invalid address\u2014memory corruption that can be leveraged for kernel information disclosure.\nI:H - Programming an invalid RX DMA address lets hardware write attacker-controlled frame contents into unintended memory, and the dangling freed skb pointer is a classic UAF write/control-flow primitive under kernel memory-corruption guidance.\nA:H - Failed refill leaves a NULL or dangling skb in the RX ring so a subsequent packet causes NULL deref/UAF oops, and invalid DMA addresses can bus-error or panic the kernel, fully denying availability."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T08:46:17.530Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/8bb1077448d43a871ed667520763e3b9f9b7975d"
},
{
"url": "https://git.kernel.org/stable/c/5ac72351655f8b033a2935646f53b7465c903418"
},
{
"url": "https://git.kernel.org/stable/c/46dd4abced3cb2c912916f4a5353e0927db0c4a2"
},
{
"url": "https://git.kernel.org/stable/c/c7718ee96dbc2f9c5fc3b578abdf296dd44b9c20"
}
],
"title": "net: lantiq: fix memory corruption in RX ring",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2021-47137",
"datePublished": "2024-03-25T09:07:36.778Z",
"dateReserved": "2024-03-04T18:12:48.841Z",
"dateUpdated": "2026-08-05T08:46:17.530Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/8bb1077448d43a871ed667520763e3b9f9b7975d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/5ac72351655f8b033a2935646f53b7465c903418\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/46dd4abced3cb2c912916f4a5353e0927db0c4a2\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/c7718ee96dbc2f9c5fc3b578abdf296dd44b9c20\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-04T05:24:39.977Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.8, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2021-47137\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-03-25T17:15:32.931685Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*\"], \"vendor\": \"linux\", \"product\": \"linux_kernel\", \"versions\": [{\"status\": \"affected\", \"version\": \"fe1a56420cf2\", \"lessThan\": \"8bb1077448d4\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe1a56420cf2\", \"lessThan\": \"5ac72351655f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe1a56420cf2\", \"lessThan\": \"46dd4abced3c\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe1a56420cf2\", \"lessThan\": \"c7718ee96dbc\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"4.20\"}, {\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.20\"}, {\"status\": \"affected\", \"version\": \"5.4.124\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4*\"}, {\"status\": \"affected\", \"version\": \"5.10.42\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10*\"}, {\"status\": \"affected\", \"version\": \"5.12.9\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.12*\"}, {\"status\": \"affected\", \"version\": \"5.13\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"*\"}], \"defaultStatus\": \"unknown\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-770\", \"description\": \"CWE-770 Allocation of Resources Without Limits or Throttling\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:19.437Z\"}}], \"cna\": {\"title\": \"net: lantiq: fix memory corruption in RX ring\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 9.8, \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:N - The bug is reached from the XRX200 PMAC receive path (DMA IRQ \\u2192 NAPI \\u2192 xrx200_poll_rx \\u2192 xrx200_hw_receive \\u2192 xrx200_alloc_skb) while processing inbound frames; on typical VRX200 gateway deployments this CPU port handles WAN/LAN switch traffic, so a remote peer can trigger it by sending packets.\\nAC:L - An attacker can flood traffic to induce memory pressure on constrained VRX200 routers so netdev_alloc_skb or dma_map_single fails during RX refill; once that happens the invalid-descriptor/UAF or NULL-deref path is deterministic, and under the uncertainty rule allocation/mapping failure is treated as low complexity.\\nPR:N - No local account or capability is required; any host that can deliver frames to the interface causes RX ring refill with no authentication gate on this path.\\nUI:N - Exploitation requires only attacker-sent packets; no victim action such as mounting a filesystem or opening a device is needed.\\nS:U - Corruption and crashes occur in the host kernel\\u2019s ethernet driver/DMA path within the same security authority; this is not a VM escape or IOMMU/sandbox boundary crossing.\\nC:H - On DMA mapping failure the driver programs DMA_MAPPING_ERROR into the RX descriptor and frees the new skb while leaving a dangling ring pointer, yielding a use-after-free plus DMA of attacker-controlled packet bytes to an invalid address\\u2014memory corruption that can be leveraged for kernel information disclosure.\\nI:H - Programming an invalid RX DMA address lets hardware write attacker-controlled frame contents into unintended memory, and the dangling freed skb pointer is a classic UAF write/control-flow primitive under kernel memory-corruption guidance.\\nA:H - Failed refill leaves a NULL or dangling skb in the RX ring so a subsequent packet causes NULL deref/UAF oops, and invalid DMA addresses can bus-error or panic the kernel, fully denying availability.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"fe1a56420cf2ec28c8eceef672b87de0bbe1a260\", \"lessThan\": \"8bb1077448d43a871ed667520763e3b9f9b7975d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe1a56420cf2ec28c8eceef672b87de0bbe1a260\", \"lessThan\": \"5ac72351655f8b033a2935646f53b7465c903418\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe1a56420cf2ec28c8eceef672b87de0bbe1a260\", \"lessThan\": \"46dd4abced3cb2c912916f4a5353e0927db0c4a2\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe1a56420cf2ec28c8eceef672b87de0bbe1a260\", \"lessThan\": \"c7718ee96dbc2f9c5fc3b578abdf296dd44b9c20\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/net/ethernet/lantiq_xrx200.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.20\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.20\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.4.124\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.42\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.12.9\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.12.*\"}, {\"status\": \"unaffected\", \"version\": \"5.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/net/ethernet/lantiq_xrx200.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/8bb1077448d43a871ed667520763e3b9f9b7975d\"}, {\"url\": \"https://git.kernel.org/stable/c/5ac72351655f8b033a2935646f53b7465c903418\"}, {\"url\": \"https://git.kernel.org/stable/c/46dd4abced3cb2c912916f4a5353e0927db0c4a2\"}, {\"url\": \"https://git.kernel.org/stable/c/c7718ee96dbc2f9c5fc3b578abdf296dd44b9c20\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: lantiq: fix memory corruption in RX ring\\n\\nIn a situation where memory allocation or dma mapping fails, an\\ninvalid address is programmed into the descriptor. This can lead\\nto memory corruption. If the memory allocation fails, DMA should\\nreuse the previous skb and mapping and drop the packet. This patch\\nalso increments rx drop counter.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.124\", \"versionStartIncluding\": \"4.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.42\", \"versionStartIncluding\": \"4.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.12.9\", \"versionStartIncluding\": \"4.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.13\", \"versionStartIncluding\": \"4.20\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:46:17.530Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2021-47137\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:46:17.530Z\", \"dateReserved\": \"2024-03-04T18:12:48.841Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-03-25T09:07:36.778Z\", \"assignerShortName\": \"Linux\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…