{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-43846", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-08-17T09:11:59.275Z", "datePublished": "2024-08-17T09:22:00.481Z", "dateUpdated": "2026-08-05T11:36:44.868Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:36:44.868Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nlib: objagg: Fix general protection fault\n\nThe library supports aggregation of objects into other objects only if\nthe parent object does not have a parent itself. That is, nesting is not\nsupported.\n\nAggregation happens in two cases: Without and with hints, where hints\nare a pre-computed recommendation on how to aggregate the provided\nobjects.\n\nNesting is not possible in the first case due to a check that prevents\nit, but in the second case there is no check because the assumption is\nthat nesting cannot happen when creating objects based on hints. The\nviolation of this assumption leads to various warnings and eventually to\na general protection fault [1].\n\nBefore fixing the root cause, error out when nesting happens and warn.\n\n[1]\ngeneral protection fault, probably for non-canonical address 0xdead000000000d90: 0000 [#1] PREEMPT SMP PTI\nCPU: 1 PID: 1083 Comm: kworker/1:9 Tainted: G W 6.9.0-rc6-custom-gd9b4f1cca7fb #7\nHardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019\nWorkqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work\nRIP: 0010:mlxsw_sp_acl_erp_bf_insert+0x25/0x80\n[...]\nCall Trace:\n \n mlxsw_sp_acl_atcam_entry_add+0x256/0x3c0\n mlxsw_sp_acl_tcam_entry_create+0x5e/0xa0\n mlxsw_sp_acl_tcam_vchunk_migrate_one+0x16b/0x270\n mlxsw_sp_acl_tcam_vregion_rehash_work+0xbe/0x510\n process_one_work+0x151/0x370\n worker_thread+0x2cb/0x3e0\n kthread+0xd0/0x100\n ret_from_fork+0x34/0x50\n ret_from_fork_asm+0x1a/0x30\n " } ], "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 vulnerable state is created only through local netlink configuration — tc flower filter installation on an mlxsw Spectrum-2+ port and the driver's periodic ACL region rehash work; no remote packet data reaches objagg.\nAC:L - The attacker fully controls the inputs that drive hint computation (filter masks differing in ≤8 consecutive bits, insertion order, and forcing C-TCAM spill by exceeding the 16-ERP A-TCAM limit), and the rehash work that consumes the hints runs automatically on an interval, so the nesting condition can be constructed and re-attempted at will.\nPR:L - Installing offloaded tc flower filters requires CAP_NET_ADMIN in the namespace owning the netdevice, which is a low-privilege capability obtainable by an unprivileged user in a network namespace they own; no real root in the init namespace is needed.\nUI:N - The attacker performs all steps themselves — adding filters and letting the driver's own rehash workqueue consume the hints — with no action by any other user.\nS:U - The corruption and its impact are confined to the kernel's own memory and the switch ASIC state managed by the same kernel, with no crossing into another security authority.\nC:H - The delta-as-root type confusion reads fields (`erp_table`, `id`, `index`, `mask_bitmap`) beyond the end of the much smaller delta allocation and dereferences the resulting heap-derived pointer chain, giving out-of-bounds reads of adjacent slab memory that can be leveraged for kernel information disclosure.\nI:H - Type confusion between `mlxsw_sp_acl_erp_delta` and `mlxsw_sp_acl_erp` plus the broken parent refcounting (delta_destroy/put on a nested parent that never took a reference) yields attacker-influenceable wild-pointer use and premature-free conditions, along with bogus ERP ids/banks being programmed into hardware.\nA:H - The documented outcome is a general protection fault in `mlxsw_sp_acl_erp_bf_insert()` from a kernel workqueue, plus multiple WARNs — a kernel crash that takes down the switch's control plane." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "lib/objagg.c" ], "versions": [ { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "8161263362154cbebfbf4808097b956a6a8cb98a", "status": "affected", "versionType": "git" }, { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "22ae17a267f4812861f0c644186c3421ff97dbfc", "status": "affected", "versionType": "git" }, { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "565213e005557eb6cc4e42189d26eb300e02f170", "status": "affected", "versionType": "git" }, { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "5adc61d29bbb461d7f7c2b48dceaa90ecd182eb7", "status": "affected", "versionType": "git" }, { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "1936fa05a180834c3b52e0439a6bddc07814d3eb", "status": "affected", "versionType": "git" }, { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "499f742fed42e74f1321f4b12ca196a66a2b49fc", "status": "affected", "versionType": "git" }, { "version": "9069a3817d82b01b3a55da382c774e3575946130", "lessThan": "b4a3a89fffcdf09702b1f161b914e52abca1894d", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "lib/objagg.c" ], "versions": [ { "version": "5.1", "status": "affected" }, { "version": "0", "lessThan": "5.1", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.282", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.224", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.165", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.103", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.44", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.10.3", "lessThanOrEqual": "6.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.11", "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.1", "versionEndExcluding": "5.4.282" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.1", "versionEndExcluding": "5.10.224" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.1", "versionEndExcluding": "5.15.165" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.1", "versionEndExcluding": "6.1.103" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.1", "versionEndExcluding": "6.6.44" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.1", "versionEndExcluding": "6.10.3" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.1", "versionEndExcluding": "6.11" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/8161263362154cbebfbf4808097b956a6a8cb98a" }, { "url": "https://git.kernel.org/stable/c/22ae17a267f4812861f0c644186c3421ff97dbfc" }, { "url": "https://git.kernel.org/stable/c/565213e005557eb6cc4e42189d26eb300e02f170" }, { "url": "https://git.kernel.org/stable/c/5adc61d29bbb461d7f7c2b48dceaa90ecd182eb7" }, { "url": "https://git.kernel.org/stable/c/1936fa05a180834c3b52e0439a6bddc07814d3eb" }, { "url": "https://git.kernel.org/stable/c/499f742fed42e74f1321f4b12ca196a66a2b49fc" }, { "url": "https://git.kernel.org/stable/c/b4a3a89fffcdf09702b1f161b914e52abca1894d" } ], "title": "lib: objagg: Fix general protection fault", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "id": "CVE-2024-43846", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2024-09-10T16:07:39.903240Z" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-09-12T17:33:21.861Z" } }, { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html" }, { "url": "https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html" } ], "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2025-11-03T22:05:41.549Z" } } ] } }