{ "id": "CVE-2021-47102", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2024-03-04T18:15:08.600", "lastModified": "2025-02-14T14:54:40.247", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: marvell: prestera: fix incorrect structure access\n\nIn line:\n\tupper = info->upper_dev;\nWe access upper_dev field, which is related only for particular events\n(e.g. event == NETDEV_CHANGEUPPER). So, this line cause invalid memory\naccess for another events,\nwhen ptr is not netdev_notifier_changeupper_info.\n\nThe KASAN logs are as follows:\n\n[ 30.123165] BUG: KASAN: stack-out-of-bounds in prestera_netdev_port_event.constprop.0+0x68/0x538 [prestera]\n[ 30.133336] Read of size 8 at addr ffff80000cf772b0 by task udevd/778\n[ 30.139866]\n[ 30.141398] CPU: 0 PID: 778 Comm: udevd Not tainted 5.16.0-rc3 #6\n[ 30.147588] Hardware name: DNI AmazonGo1 A7040 board (DT)\n[ 30.153056] Call trace:\n[ 30.155547] dump_backtrace+0x0/0x2c0\n[ 30.159320] show_stack+0x18/0x30\n[ 30.162729] dump_stack_lvl+0x68/0x84\n[ 30.166491] print_address_description.constprop.0+0x74/0x2b8\n[ 30.172346] kasan_report+0x1e8/0x250\n[ 30.176102] __asan_load8+0x98/0xe0\n[ 30.179682] prestera_netdev_port_event.constprop.0+0x68/0x538 [prestera]\n[ 30.186847] prestera_netdev_event_handler+0x1b4/0x1c0 [prestera]\n[ 30.193313] raw_notifier_call_chain+0x74/0xa0\n[ 30.197860] call_netdevice_notifiers_info+0x68/0xc0\n[ 30.202924] register_netdevice+0x3cc/0x760\n[ 30.207190] register_netdev+0x24/0x50\n[ 30.211015] prestera_device_register+0x8a0/0xba0 [prestera]" }, { "lang": "es", "value": "En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: net:marvell:prestera: corrige el acceso a la estructura incorrecta En l\u00ednea: superior = info->upper_dev; Accedemos al campo Upper_dev, que est\u00e1 relacionado s\u00f3lo para eventos particulares (por ejemplo, evento == NETDEV_CHANGEUPPER). Entonces, esta l\u00ednea causa un acceso no v\u00e1lido a la memoria para otros eventos, cuando ptr no es netdev_notifier_changeupper_info. Los registros de KASAN son los siguientes: [30.123165] ERROR: KASAN: pila fuera de los l\u00edmites en prestera_netdev_port_event.constprop.0+0x68/0x538 [prestera] [30.133336] Lectura de tama\u00f1o 8 en la direcci\u00f3n ffff80000cf772b0 mediante tarea udevd/778 [ 0x0/0 x2c0 [ 30.159320] show_stack+0x18/0x30 [ 30.162729] dump_stack_lvl+0x68/0x84 [ 30.166491] print_address_description.constprop.0+0x74/0x2b8 [ 30.172346] kasan_report+0x1e8/0x250 [ 3 0.176102] __asan_load8+0x98/0xe0 [ 30.179682] prestera_netdev_port_event.constprop .0+0x68/0x538 [prestera] [ 30.186847] prestera_netdev_event_handler+0x1b4/0x1c0 [prestera] [ 30.193313] raw_notifier_call_chain+0x74/0xa0 [ 30.197860] call_netdevice_notifiers_info+0x68/0xc0 [ 30.202924] registro_netdevice+0x3cc/0x760 [ 30.207190] registro_netdev+0x24 /0x50 [ 30.211015] prestera_device_register+0x8a0/0xba0 [prestera]" } ], "metrics": { "cvssMetricV31": [ { "source": "nvd@nist.gov", "type": "Primary", "cvssData": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "HIGH" }, "exploitabilityScore": 1.8, "impactScore": 5.2 } ] }, "weaknesses": [ { "source": "nvd@nist.gov", "type": "Primary", "description": [ { "lang": "en", "value": "CWE-125" } ] } ], "configurations": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.14", "versionEndExcluding": "5.15.12", "matchCriteriaId": "901A6B90-4B30-4E61-9B88-844D6E11AE47" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:*", "matchCriteriaId": "357AA433-37E8-4323-BFB2-3038D6E4B414" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:*", "matchCriteriaId": "A73429BA-C2D9-4D0C-A75F-06A1CA8B3983" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:*", "matchCriteriaId": "F621B5E3-E99D-49E7-90B9-EC3B77C95383" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:*", "matchCriteriaId": "F7BFDCAA-1650-49AA-8462-407DD593F94F" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:*", "matchCriteriaId": "6EC9882F-866D-4ACB-8FBC-213D8D8436C8" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc6:*:*:*:*:*:*", "matchCriteriaId": "8A0915FE-A4AA-4C94-B783-CF29D81E7E54" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/2efc2256febf214e7b2bdaa21fe6c3c3146acdcb", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": [ "Exploit", "Mailing List", "Patch" ] }, { "url": "https://git.kernel.org/stable/c/5c553a0cd1263e4da5f220d80fa713fc3959c1d0", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": [ "Exploit", "Mailing List", "Patch" ] }, { "url": "https://git.kernel.org/stable/c/2efc2256febf214e7b2bdaa21fe6c3c3146acdcb", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Exploit", "Mailing List", "Patch" ] }, { "url": "https://git.kernel.org/stable/c/5c553a0cd1263e4da5f220d80fa713fc3959c1d0", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Exploit", "Mailing List", "Patch" ] } ] }