cve-2021-47146
Vulnerability from cvelistv5
Published
2024-03-25 09:07
Modified
2024-11-04 12:00
Severity ?
EPSS score ?
Summary
mld: fix panic in mld_newpack()
References
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-04T05:24:39.987Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/0e35b7457b7b6e73ffeaaca1a577fdf1af0feca1" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/17728616a4c85baf0edc975c60ba4e4157684d9a" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/221142038f36d9f28b64e83e954774da4d4ccd17" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/4b77ad9097067b31237eeeee0bf70f80849680a0" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/37d697759958d111439080bab7e14d2b0e7b39f5" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/beb39adb150f8f3b516ddf7c39835a9788704d23" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/a76fb9ba545289379acf409653ad5f74417be59c" }, { "tags": [ "x_transferred" ], "url": "https://git.kernel.org/stable/c/020ef930b826d21c5446fdc9db80fd72a791bc21" } ], "title": "CVE Program Container" }, { "metrics": [ { "other": { "content": { "id": "CVE-2021-47146", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2024-09-10T15:54:54.361995Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2024-09-11T17:33:13.921Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "net/ipv6/mcast.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "0e35b7457b7b", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "17728616a4c8", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "221142038f36", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "4b77ad909706", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "37d697759958", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "beb39adb150f", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "a76fb9ba5452", "status": "affected", "version": "72e09ad107e7", "versionType": "git" }, { "lessThan": "020ef930b826", "status": "affected", "version": "72e09ad107e7", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "net/ipv6/mcast.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "2.6.35" }, { "lessThan": "2.6.35", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "4.4.*", "status": "unaffected", "version": "4.4.271", "versionType": "semver" }, { "lessThanOrEqual": "4.9.*", "status": "unaffected", "version": "4.9.271", "versionType": "semver" }, { "lessThanOrEqual": "4.14.*", "status": "unaffected", "version": "4.14.235", "versionType": "semver" }, { "lessThanOrEqual": "4.19.*", "status": "unaffected", "version": "4.19.193", "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" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmld: fix panic in mld_newpack()\n\nmld_newpack() doesn\u0027t allow to allocate high order page,\nonly order-0 allocation is allowed.\nIf headroom size is too large, a kernel panic could occur in skb_put().\n\nTest commands:\n ip netns del A\n ip netns del B\n ip netns add A\n ip netns add B\n ip link add veth0 type veth peer name veth1\n ip link set veth0 netns A\n ip link set veth1 netns B\n\n ip netns exec A ip link set lo up\n ip netns exec A ip link set veth0 up\n ip netns exec A ip -6 a a 2001:db8:0::1/64 dev veth0\n ip netns exec B ip link set lo up\n ip netns exec B ip link set veth1 up\n ip netns exec B ip -6 a a 2001:db8:0::2/64 dev veth1\n for i in {1..99}\n do\n let A=$i-1\n ip netns exec A ip link add ip6gre$i type ip6gre \\\n\tlocal 2001:db8:$A::1 remote 2001:db8:$A::2 encaplimit 100\n ip netns exec A ip -6 a a 2001:db8:$i::1/64 dev ip6gre$i\n ip netns exec A ip link set ip6gre$i up\n\n ip netns exec B ip link add ip6gre$i type ip6gre \\\n\tlocal 2001:db8:$A::2 remote 2001:db8:$A::1 encaplimit 100\n ip netns exec B ip -6 a a 2001:db8:$i::2/64 dev ip6gre$i\n ip netns exec B ip link set ip6gre$i up\n done\n\nSplat looks like:\nkernel BUG at net/core/skbuff.c:110!\ninvalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI\nCPU: 0 PID: 7 Comm: kworker/0:1 Not tainted 5.12.0+ #891\nWorkqueue: ipv6_addrconf addrconf_dad_work\nRIP: 0010:skb_panic+0x15d/0x15f\nCode: 92 fe 4c 8b 4c 24 10 53 8b 4d 70 45 89 e0 48 c7 c7 00 ae 79 83\n41 57 41 56 41 55 48 8b 54 24 a6 26 f9 ff \u003c0f\u003e 0b 48 8b 6c 24 20 89\n34 24 e8 4a 4e 92 fe 8b 34 24 48 c7 c1 20\nRSP: 0018:ffff88810091f820 EFLAGS: 00010282\nRAX: 0000000000000089 RBX: ffff8881086e9000 RCX: 0000000000000000\nRDX: 0000000000000089 RSI: 0000000000000008 RDI: ffffed1020123efb\nRBP: ffff888005f6eac0 R08: ffffed1022fc0031 R09: ffffed1022fc0031\nR10: ffff888117e00187 R11: ffffed1022fc0030 R12: 0000000000000028\nR13: ffff888008284eb0 R14: 0000000000000ed8 R15: 0000000000000ec0\nFS: 0000000000000000(0000) GS:ffff888117c00000(0000)\nknlGS:0000000000000000\nCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f8b801c5640 CR3: 0000000033c2c006 CR4: 00000000003706f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nCall Trace:\n ? ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600\n ? ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600\n skb_put.cold.104+0x22/0x22\n ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600\n ? rcu_read_lock_sched_held+0x91/0xc0\n mld_newpack+0x398/0x8f0\n ? ip6_mc_hdr.isra.26.constprop.46+0x600/0x600\n ? lock_contended+0xc40/0xc40\n add_grhead.isra.33+0x280/0x380\n add_grec+0x5ca/0xff0\n ? mld_sendpack+0xf40/0xf40\n ? lock_downgrade+0x690/0x690\n mld_send_initial_cr.part.34+0xb9/0x180\n ipv6_mc_dad_complete+0x15d/0x1b0\n addrconf_dad_completed+0x8d2/0xbb0\n ? lock_downgrade+0x690/0x690\n ? addrconf_rs_timer+0x660/0x660\n ? addrconf_dad_work+0x73c/0x10e0\n addrconf_dad_work+0x73c/0x10e0\n\nAllowing high order page allocation could fix this problem." } ], "providerMetadata": { "dateUpdated": "2024-11-04T12:00:22.794Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/0e35b7457b7b6e73ffeaaca1a577fdf1af0feca1" }, { "url": "https://git.kernel.org/stable/c/17728616a4c85baf0edc975c60ba4e4157684d9a" }, { "url": "https://git.kernel.org/stable/c/221142038f36d9f28b64e83e954774da4d4ccd17" }, { "url": "https://git.kernel.org/stable/c/4b77ad9097067b31237eeeee0bf70f80849680a0" }, { "url": "https://git.kernel.org/stable/c/37d697759958d111439080bab7e14d2b0e7b39f5" }, { "url": "https://git.kernel.org/stable/c/beb39adb150f8f3b516ddf7c39835a9788704d23" }, { "url": "https://git.kernel.org/stable/c/a76fb9ba545289379acf409653ad5f74417be59c" }, { "url": "https://git.kernel.org/stable/c/020ef930b826d21c5446fdc9db80fd72a791bc21" } ], "title": "mld: fix panic in mld_newpack()", "x_generator": { "engine": "bippy-9e1c9544281a" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2021-47146", "datePublished": "2024-03-25T09:07:43.043Z", "dateReserved": "2024-03-04T18:12:48.845Z", "dateUpdated": "2024-11-04T12:00:22.794Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2021-47146\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-03-25T09:15:09.047\",\"lastModified\":\"2024-03-25T13:47:14.087\",\"vulnStatus\":\"Awaiting Analysis\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmld: fix panic in mld_newpack()\\n\\nmld_newpack() doesn\u0027t allow to allocate high order page,\\nonly order-0 allocation is allowed.\\nIf headroom size is too large, a kernel panic could occur in skb_put().\\n\\nTest commands:\\n ip netns del A\\n ip netns del B\\n ip netns add A\\n ip netns add B\\n ip link add veth0 type veth peer name veth1\\n ip link set veth0 netns A\\n ip link set veth1 netns B\\n\\n ip netns exec A ip link set lo up\\n ip netns exec A ip link set veth0 up\\n ip netns exec A ip -6 a a 2001:db8:0::1/64 dev veth0\\n ip netns exec B ip link set lo up\\n ip netns exec B ip link set veth1 up\\n ip netns exec B ip -6 a a 2001:db8:0::2/64 dev veth1\\n for i in {1..99}\\n do\\n let A=$i-1\\n ip netns exec A ip link add ip6gre$i type ip6gre \\\\\\n\\tlocal 2001:db8:$A::1 remote 2001:db8:$A::2 encaplimit 100\\n ip netns exec A ip -6 a a 2001:db8:$i::1/64 dev ip6gre$i\\n ip netns exec A ip link set ip6gre$i up\\n\\n ip netns exec B ip link add ip6gre$i type ip6gre \\\\\\n\\tlocal 2001:db8:$A::2 remote 2001:db8:$A::1 encaplimit 100\\n ip netns exec B ip -6 a a 2001:db8:$i::2/64 dev ip6gre$i\\n ip netns exec B ip link set ip6gre$i up\\n done\\n\\nSplat looks like:\\nkernel BUG at net/core/skbuff.c:110!\\ninvalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI\\nCPU: 0 PID: 7 Comm: kworker/0:1 Not tainted 5.12.0+ #891\\nWorkqueue: ipv6_addrconf addrconf_dad_work\\nRIP: 0010:skb_panic+0x15d/0x15f\\nCode: 92 fe 4c 8b 4c 24 10 53 8b 4d 70 45 89 e0 48 c7 c7 00 ae 79 83\\n41 57 41 56 41 55 48 8b 54 24 a6 26 f9 ff \u003c0f\u003e 0b 48 8b 6c 24 20 89\\n34 24 e8 4a 4e 92 fe 8b 34 24 48 c7 c1 20\\nRSP: 0018:ffff88810091f820 EFLAGS: 00010282\\nRAX: 0000000000000089 RBX: ffff8881086e9000 RCX: 0000000000000000\\nRDX: 0000000000000089 RSI: 0000000000000008 RDI: ffffed1020123efb\\nRBP: ffff888005f6eac0 R08: ffffed1022fc0031 R09: ffffed1022fc0031\\nR10: ffff888117e00187 R11: ffffed1022fc0030 R12: 0000000000000028\\nR13: ffff888008284eb0 R14: 0000000000000ed8 R15: 0000000000000ec0\\nFS: 0000000000000000(0000) GS:ffff888117c00000(0000)\\nknlGS:0000000000000000\\nCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\nCR2: 00007f8b801c5640 CR3: 0000000033c2c006 CR4: 00000000003706f0\\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\\nCall Trace:\\n ? ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600\\n ? ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600\\n skb_put.cold.104+0x22/0x22\\n ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600\\n ? rcu_read_lock_sched_held+0x91/0xc0\\n mld_newpack+0x398/0x8f0\\n ? ip6_mc_hdr.isra.26.constprop.46+0x600/0x600\\n ? lock_contended+0xc40/0xc40\\n add_grhead.isra.33+0x280/0x380\\n add_grec+0x5ca/0xff0\\n ? mld_sendpack+0xf40/0xf40\\n ? lock_downgrade+0x690/0x690\\n mld_send_initial_cr.part.34+0xb9/0x180\\n ipv6_mc_dad_complete+0x15d/0x1b0\\n addrconf_dad_completed+0x8d2/0xbb0\\n ? lock_downgrade+0x690/0x690\\n ? addrconf_rs_timer+0x660/0x660\\n ? addrconf_dad_work+0x73c/0x10e0\\n addrconf_dad_work+0x73c/0x10e0\\n\\nAllowing high order page allocation could fix this problem.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: mld: corrige el p\u00e1nico en mld_newpack() mld_newpack() no permite asignar p\u00e1ginas de orden superior, solo se permite la asignaci\u00f3n de orden 0. Si el tama\u00f1o del espacio libre es demasiado grande, podr\u00eda ocurrir un p\u00e1nico en el kernel en skb_put(). Comandos de prueba: ip netns del A ip netns del B ip netns agregar A ip netns agregar enlace ip B agregar veth0 tipo nombre de par veth veth1 conjunto de enlace ip veth0 netns A conjunto de enlace ip veth1 netns B ip netns exec A enlace ip configurar lo up ip netns exec A configuraci\u00f3n de enlace ip veth0 up ip netns exec A ip -6 aa 2001:db8:0::1/64 dev veth0 ip netns exec B configuraci\u00f3n de enlace ip lo up ip netns exec B configuraci\u00f3n de enlace ip veth1 up ip netns exec B ip -6 aa 2001:db8:0::2/64 dev veth1 para i en {1..99} haga let A=$i-1 ip netns exec Un enlace ip agregue ip6gre$i escriba ip6gre \\\\ local 2001:db8 :$A::1 remoto 2001:db8:$A::2 encaplimit 100 ip netns exec A ip -6 aa 2001:db8:$i::1/64 dev ip6gre$i ip netns exec A conjunto de enlaces ip ip6gre$ Subo ip netns exec B enlace ip agregue ip6gre$escribo ip6gre \\\\ local 2001:db8:$A::2 remoto 2001:db8:$A::1 encaplimit 100 ip netns exec B ip -6 aa 2001:db8:$ i::2/64 dev ip6gre$i ip netns exec B ip link set ip6gre$i listo Splat se ve as\u00ed: \u00a1ERROR del kernel en net/core/skbuff.c:110! c\u00f3digo de operaci\u00f3n no v\u00e1lido: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI CPU: 0 PID: 7 Comm: kworker/0:1 Not tainted 5.12.0+ #891 Cola de trabajo: ipv6_addrconf addrconf_dad_work RIP: 0010:skb_panic+0x15d/0x15f C\u00f3digo: 92 fe 4c 8b 4c 24 10 53 8b 4d 70 45 89 e0 48 c7 c7 00 ae 79 83 41 57 41 56 41 55 48 8b 54 24 a6 26 f9 ff \u0026lt;0f\u0026gt; 0b 48 8b 6c 24 20 89 34 24 e 8 4a 4e 92fe 8b 34 24 48 c7 c1 20 RSP: 0018:ffff88810091f820 EFLAGS: 00010282 RAX: 0000000000000089 RBX: ffff8881086e9000 RCX: 0000000000000000 RDX: 0000 000000000089 RSI: 0000000000000008 RDI: ffffed1020123efb RBP: ffff888005f6eac0 R08: ffffed1022fc0031 R09: ffffed1022fc0031 R10: ffff888117e00187 R11: ffffed1022fc0030 R12: 0000000000000028 R13: ffff888008284eb0 R14: 0000000000000ed8 R15: 0000000000000ec0 FS: 00000000000000000(0000) GS:ffff888117c00000(0000) k nlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8b801c5640 CR3: 0000000033c2c006 CR4: 00000000003706f0 DR0: 0000000000000000 DR1 : 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Seguimiento de llamadas: ? ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600? ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600 skb_put.cold.104+0x22/0x22 ip6_mc_hdr.isra.26.constprop.46+0x12a/0x600 ? rcu_read_lock_sched_held+0x91/0xc0 mld_newpack+0x398/0x8f0? ip6_mc_hdr.isra.26.constprop.46+0x600/0x600? lock_contended+0xc40/0xc40 add_grhead.isra.33+0x280/0x380 add_grec+0x5ca/0xff0 ? mld_sendpack+0xf40/0xf40? lock_downgrade+0x690/0x690 mld_send_initial_cr.part.34+0xb9/0x180 ipv6_mc_dad_complete+0x15d/0x1b0 addrconf_dad_completed+0x8d2/0xbb0 ? lock_downgrade+0x690/0x690? addrconf_rs_timer+0x660/0x660? addrconf_dad_work+0x73c/0x10e0 addrconf_dad_work+0x73c/0x10e0 Permitir la asignaci\u00f3n de p\u00e1ginas de alto orden podr\u00eda solucionar este problema.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/020ef930b826d21c5446fdc9db80fd72a791bc21\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/0e35b7457b7b6e73ffeaaca1a577fdf1af0feca1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/17728616a4c85baf0edc975c60ba4e4157684d9a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/221142038f36d9f28b64e83e954774da4d4ccd17\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/37d697759958d111439080bab7e14d2b0e7b39f5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4b77ad9097067b31237eeeee0bf70f80849680a0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a76fb9ba545289379acf409653ad5f74417be59c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/beb39adb150f8f3b516ddf7c39835a9788704d23\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
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.
- 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.