Linux Kernel
CVE-2024-35854
HIGH
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AC raised to H because inducing the specific migration-failure-with-non-negative-credits condition requires non-trivial timing and ACL rule manipulation beyond attacker-controlled inputs alone.
Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).
CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Lifecycle Timeline
6DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
The rehash delayed work migrates filters from one region to another according to the number of available credits.
The migrated from region is destroyed at the end of the work if the number of credits is non-negative as the assumption is that this is indicative of migration being complete. This assumption is incorrect as a non-negative number of credits can also be the result of a failed migration.
The destruction of a region that still has filters referencing it can result in a use-after-free [1].
Fix by not destroying the region if migration failed.
[1] BUG: KASAN: slab-use-after-free in mlxsw_sp_acl_ctcam_region_entry_remove+0x21d/0x230 Read of size 8 at addr ffff8881735319e8 by task kworker/0:31/3858
CPU: 0 PID: 3858 Comm: kworker/0:31 Tainted: G W 6.9.0-rc2-custom-00782-gf2275c2157d8 #5 Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019 Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work Call Trace: <TASK> dump_stack_lvl+0xc6/0x120 print_report+0xce/0x670 kasan_report+0xd7/0x110 mlxsw_sp_acl_ctcam_region_entry_remove+0x21d/0x230 mlxsw_sp_acl_ctcam_entry_del+0x2e/0x70 mlxsw_sp_acl_atcam_entry_del+0x81/0x210 mlxsw_sp_acl_tcam_vchunk_migrate_all+0x3cd/0xb50 mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300 process_one_work+0x8eb/0x19b0 worker_thread+0x6c9/0xf70 kthread+0x2c9/0x3b0 ret_from_fork+0x4d/0x80 ret_from_fork_asm+0x1a/0x30 </TASK>
Allocated by task 174: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 __kasan_kmalloc+0x8f/0xa0 __kmalloc+0x19c/0x360 mlxsw_sp_acl_tcam_region_create+0xdf/0x9c0 mlxsw_sp_acl_tcam_vregion_rehash_work+0x954/0x1300 process_one_work+0x8eb/0x19b0 worker_thread+0x6c9/0xf70 kthread+0x2c9/0x3b0 ret_from_fork+0x4d/0x80 ret_from_fork_asm+0x1a/0x30
Freed by task 7: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 poison_slab_object+0x102/0x170 __kasan_slab_free+0x14/0x30 kfree+0xc1/0x290 mlxsw_sp_acl_tcam_region_destroy+0x272/0x310 mlxsw_sp_acl_tcam_vregion_rehash_work+0x731/0x1300 process_one_work+0x8eb/0x19b0 worker_thread+0x6c9/0xf70 kthread+0x2c9/0x3b0 ret_from_fork+0x4d/0x80 ret_from_fork_asm+0x1a/0x30
AnalysisAI
Use-after-free in the Linux kernel's mlxsw Mellanox Spectrum ACL TCAM rehash path allows a local attacker with low privileges to corrupt kernel memory, enabling potential privilege escalation on systems running the affected Mellanox switch driver. The flaw arises because a failed filter migration during the rehash workqueue handler can produce a non-negative credit count - a condition previously assumed to indicate only successful completion - causing the source TCAM region to be freed while active filter entries still hold live references to it. With no CISA KEV listing, no known public exploit, and an EPSS of 0.94%, real-world exploitation risk is constrained by the requirement for Mellanox Spectrum hardware and local system access.
Technical ContextAI
The vulnerability resides in the mlxsw driver subsystem (drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c), which manages ACL policy enforcement on Mellanox Spectrum ASICs via a software abstraction over the hardware TCAM. During a rehash operation dispatched as a deferred kernel workqueue task (mlxsw_sp_acl_tcam_vregion_rehash_work), the driver migrates ACL filter entries from one TCAM region to another using a credit-based progress counter. The logic incorrectly treats a non-negative credit balance as unambiguous proof of completion and destroys the source region, but a partially failed migration can also leave a non-negative balance. This violates the object lifetime contract for the region structure, producing a CWE-416 (Use After Free) condition confirmed by a KASAN slab-use-after-free report: a subsequent read of the freed region struct at mlxsw_sp_acl_ctcam_region_entry_remove+0x21d triggers the crash. CPE data identifies affected versions spanning multiple stable Linux kernel branches and 6.9-rc1 through 6.9-rc4.
RemediationAI
Upstream fixes are available as patches committed to multiple Linux stable branches; administrators should update to a kernel version incorporating commits 311eeaa7b9e2, 4c89642ca47f, 54225988889931, 813e2ab753a8f8, a02687044e12, a429a912d6c7, and e118e7ea24d1, all accessible at https://git.kernel.org/stable/. Debian users should apply the kernel security update referenced in https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html. Exact patched kernel release version numbers beyond the upstream commits are not independently confirmed in the provided data. As a compensating control where immediate patching is not feasible, administrators can restrict local user access to systems running the mlxsw driver (reducing the PR:L attack surface), prevent unprivileged users from manipulating tc flower filter rules via Linux capabilities controls (CAP_NET_ADMIN restriction), or unload the mlxsw kernel module on hosts where Mellanox Spectrum hardware is not operationally required - noting that unloading the driver will disable the associated network interfaces.
More in Debian Linux
View allApache Log4j2 contains a critical JNDI injection vulnerability known as 'Log4Shell' that allows unauthenticated remote c
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which
Samba since version 3.5.0 and before 4.6.4, 4.5.10 and 4.4.14 is vulnerable to remote code execution vulnerability, allo
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
RARLAB UnRAR before 6.12 on Linux and UNIX allows directory traversal to write to files during an extract (aka unpack) o
The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.
When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT
When using the Apache JServ Protocol (AJP), care must be taken when trusting incoming connections to Apache Tomcat. Rate
A remote code execution vulnerability exists within multiple subsystems of Drupal 7.x and 8.x. Rated critical severity (
Same weakness CWE-416 – Use After Free
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today