CVE-2024-43880

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2024-08-21. NVD baseline CVSS 5.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
5.5
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 5.5Exploit: NoneExposed: 0

A fix is available — apply it.

In the Linux kernel, the following vulnerability has been resolved:

mlxsw: spectrum_acl_erp: Fix object nesting warning

ACLs in Spectrum-2 and newer ASICs can reside in the algorithmic TCAM (A-TCAM) or in the ordinary circuit TCAM (C-TCAM). The former can contain more ACLs (i.e., tc filters), but the number of masks in each region (i.e., tc chain) is limited.

In order to mitigate the effects of the above limitation, the device allows filters to share a single mask if their masks only differ in up to 8 consecutive bits. For example, dst_ip/25 can be represented using dst_ip/24 with a delta of 1 bit. The C-TCAM does not have a limit on the number of masks being used (and therefore does not support mask aggregation), but can contain a limited number of filters.

The driver uses the "objagg" library to perform the mask aggregation by passing it objects that consist of the filter's mask and whether the filter is to be inserted into the A-TCAM or the C-TCAM since filters in different TCAMs cannot share a mask.

The set of created objects is dependent on the insertion order of the filters and is not necessarily optimal. Therefore, the driver will periodically ask the library to compute a more optimal set ("hints") by looking at all the existing objects.

When the library asks the driver whether two objects can be aggregated the driver only compares the provided masks and ignores the A-TCAM / C-TCAM indication. This is the right thing to do since the goal is to move as many filters as possible to the A-TCAM. The driver also forbids two identical masks from being aggregated since this can only happen if one was intentionally put in the C-TCAM to avoid a conflict in the A-TCAM.

The above can result in the following set of hints:

H1: {mask X, A-TCAM} -> H2: {mask Y, A-TCAM} // X is Y + delta H3: {mask Y, C-TCAM} -> H4: {mask Z, A-TCAM} // Y is Z + delta

After getting the hints from the library the driver will start migrating filters from one region to another while consulting the computed hints and instructing the device to perform a lookup in both regions during the transition.

Assuming a filter with mask X is being migrated into the A-TCAM in the new region, the hints lookup will return H1. Since H2 is the parent of H1, the library will try to find the object associated with it and create it if necessary in which case another hints lookup (recursive) will be performed. This hints lookup for {mask Y, A-TCAM} will either return H2 or H3 since the driver passes the library an object comparison function that ignores the A-TCAM / C-TCAM indication.

This can eventually lead to nested objects which are not supported by the library [1].

Fix by removing the object comparison function from both the driver and the library as the driver was the only user. That way the lookup will only return exact matches.

I do not have a reliable reproducer that can reproduce the issue in a timely manner, but before the fix the issue would reproduce in several minutes and with the fix it does not reproduce in over an hour.

Note that the current usefulness of the hints is limited because they include the C-TCAM indication and represent aggregation that cannot actually happen. This will be addressed in net-next.

[1] WARNING: CPU: 0 PID: 153 at lib/objagg.c:170 objagg_obj_parent_assign+0xb5/0xd0 Modules linked in: CPU: 0 PID: 153 Comm: kworker/0:18 Not tainted 6.9.0-rc6-custom-g70fbc2c1c38b #42 Hardware name: Mellanox Technologies Ltd. MSN3700C/VMOD0008, BIOS 5.11 10/10/2018 Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work RIP: 0010:objagg_obj_parent_assign+0xb5/0xd0 [...] Call Trace: __objagg_obj_get+0x2bb/0x580 objagg_obj_get+0xe/0x80 mlxsw_sp_acl_erp_mask_get+0xb5/0xf0 mlxsw_sp_acl_atcam_entry_add+0xe8/0x3c0 mlxsw_sp_acl_tcam_entry_create+0x5e/0xa0 mlxsw_sp_acl_tcam_vchunk_migrate_one+0x16b/0x270 mlxsw_sp_acl_tcam_vregion_rehash_work+0xbe/0x510 process_one_work+0x151/0x370

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
25(Track)
EG Risk 25/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity55% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS
12.3%
KEV
Not listed

Published

August 21, 2024

Last Modified

November 3, 2025

Vendor Advisories for CVE-2024-43880(3)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(20)

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Additional Vendor Advisories

(16)

Data Freshness Timeline

(refreshed 12× in last 7d / 44× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-23 02:40 UTCEG score recompute
  2. 2026-07-22 14:07 UTCEPSS rescore
  3. 2026-07-21 15:23 UTCEPSS rescore
  4. 2026-07-21 15:23 UTCEPSS rescore
  5. 2026-07-20 17:06 UTCEPSS rescore
  6. 2026-07-19 14:30 UTCEPSS rescore
  7. 2026-07-19 14:30 UTCEPSS rescore
  8. 2026-07-19 02:28 UTCEPSS rescore
  9. 2026-07-19 02:28 UTCEPSS rescore
  10. 2026-07-18 10:03 UTCEPSS rescore
  11. 2026-07-18 10:03 UTCEPSS rescore
  12. 2026-07-16 17:02 UTCEPSS rescore
  13. 2026-07-15 16:56 UTCEPSS rescore
  14. 2026-07-15 16:56 UTCEPSS rescore
  15. 2026-07-15 01:59 UTCEPSS rescore
  16. 2026-07-15 01:59 UTCEPSS rescore
  17. 2026-07-13 22:29 UTCEPSS rescore
  18. 2026-07-13 10:38 UTCOSV refresh
  19. 2026-07-13 06:12 UTCEPSS rescore
  20. 2026-07-11 08:26 UTCEPSS rescore
  21. 2026-07-09 19:09 UTCEPSS rescore
  22. 2026-07-09 19:09 UTCEPSS rescore
  23. 2026-07-08 15:14 UTCEPSS rescore
  24. 2026-07-07 13:45 UTCEPSS rescore
  25. 2026-07-06 16:26 UTCEPSS rescore
Show 75 more
  1. 2026-07-06 02:22 UTCEPSS rescore
  2. 2026-07-06 02:22 UTCEPSS rescore
  3. 2026-07-04 06:30 UTCEPSS rescore
  4. 2026-07-01 15:05 UTCEPSS rescore
  5. 2026-06-30 23:21 UTCEPSS rescore
  6. 2026-06-30 23:21 UTCEPSS rescore
  7. 2026-06-29 14:05 UTCEPSS rescore
  8. 2026-06-28 14:07 UTCEPSS rescore
  9. 2026-06-28 14:06 UTCEPSS rescore
  10. 2026-06-28 04:55 UTCEPSS rescore
  11. 2026-06-28 04:55 UTCEPSS rescore
  12. 2026-06-27 03:07 UTCEPSS rescore
  13. 2026-06-27 03:07 UTCEPSS rescore
  14. 2026-06-25 13:49 UTCEPSS rescore
  15. 2026-06-25 03:31 UTCOSV refresh
  16. 2026-06-24 14:04 UTCEPSS rescore
  17. 2026-06-24 14:04 UTCEPSS rescore
  18. 2026-06-23 21:32 UTCEPSS rescore
  19. 2026-06-23 21:32 UTCEPSS rescore
  20. 2026-06-22 14:25 UTCEPSS rescore
  21. 2026-06-22 14:25 UTCEPSS rescore
  22. 2026-06-21 14:55 UTCEPSS rescore
  23. 2026-06-21 01:58 UTCEPSS rescore
  24. 2026-06-21 01:58 UTCEPSS rescore
  25. 2026-06-19 19:25 UTCEPSS rescore
  26. 2026-06-19 19:25 UTCEPSS rescore
  27. 2026-06-18 17:52 UTCEPSS rescore
  28. 2026-06-18 17:52 UTCEPSS rescore
  29. 2026-06-17 17:52 UTCEPSS rescore
  30. 2026-06-16 17:52 UTCEPSS rescore
  31. 2026-06-16 17:52 UTCEPSS rescore
  32. 2026-06-15 17:47 UTCEPSS rescore
  33. 2026-06-14 23:17 UTCEPSS rescore
  34. 2026-06-13 22:59 UTCEPSS rescore
  35. 2026-06-13 22:59 UTCEPSS rescore
  36. 2026-06-13 22:59 UTCEPSS rescore
  37. 2026-06-12 23:11 UTCEPSS rescore
  38. 2026-06-12 23:11 UTCEPSS rescore
  39. 2026-06-11 13:59 UTCEPSS rescore
  40. 2026-06-10 22:18 UTCEPSS rescore
  41. 2026-06-10 13:21 UTCEPSS rescore
  42. 2026-06-08 14:16 UTCEPSS rescore
  43. 2026-06-08 14:16 UTCEPSS rescore
  44. 2026-06-07 23:28 UTCOSV refresh
  45. 2026-06-07 15:24 UTCEPSS rescore
  46. 2026-06-07 15:24 UTCEPSS rescore
  47. 2026-06-06 13:46 UTCEPSS rescore
  48. 2026-06-06 13:46 UTCEPSS rescore
  49. 2026-06-05 22:46 UTCEPSS rescore
  50. 2026-06-05 22:46 UTCEPSS rescore
  51. 2026-06-05 06:09 UTCEPSS rescore
  52. 2026-06-05 06:09 UTCEPSS rescore
  53. 2026-06-04 13:11 UTCEPSS rescore
  54. 2026-06-04 13:11 UTCEPSS rescore
  55. 2026-06-02 20:12 UTCEPSS rescore
  56. 2026-06-02 20:12 UTCEPSS rescore
  57. 2026-06-01 13:51 UTCEPSS rescore
  58. 2026-06-01 13:51 UTCEPSS rescore
  59. 2026-05-31 22:30 UTCEPSS rescore
  60. 2026-05-31 22:30 UTCEPSS rescore
  61. 2026-05-31 00:16 UTCEPSS rescore
  62. 2026-05-31 00:15 UTCEPSS rescore
  63. 2026-05-29 13:43 UTCEPSS rescore
  64. 2026-05-28 13:44 UTCEPSS rescore
  65. 2026-05-28 13:44 UTCEPSS rescore
  66. 2026-05-27 13:40 UTCEPSS rescore
  67. 2026-05-27 13:40 UTCEPSS rescore
  68. 2026-05-26 13:43 UTCEPSS rescore
  69. 2026-05-26 13:43 UTCEPSS rescore
  70. 2026-05-26 07:18 UTCEPSS rescore
  71. 2026-05-26 07:18 UTCEPSS rescore
  72. 2026-05-26 07:18 UTCEPSS rescore
  73. 2026-05-23 12:22 UTCEG score recompute
  74. 2026-05-23 12:22 UTCVendor advisory
  75. 2026-05-23 12:22 UTCGHSA enrichment

Frequently asked(5)

What is CVE-2024-43880?
CVE-2024-43880 is a medium vulnerability published on August 21, 2024. In the Linux kernel, the following vulnerability has been resolved: mlxsw: spectrumaclerp: Fix object nesting warning ACLs in Spectrum-2 and newer ASICs can reside in the algorithmic TCAM (A-TCAM) or in the ordinary circuit TCAM (C-TCAM). The former can contain more ACLs (i.e., tc filters), but the…
When was CVE-2024-43880 disclosed?
CVE-2024-43880 was first published in the National Vulnerability Database on August 21, 2024, with the most recent update on November 3, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2024-43880 actively exploited?
CVE-2024-43880 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 12.3% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2024-43880?
CVE-2024-43880 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2024-43880?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2024-43880, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2024-43880

Explore →

Is Your Infrastructure Affected by CVE-2024-43880?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.