CVE-2024-35853

MediumCVSS 6.4/10Last modified Jun 17, 2026

Description

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

mlxsw: spectrum_acl_tcam: Fix memory leak during rehash

The rehash delayed work migrates filters from one region to another. This is done by iterating over all chunks (all the filters with the same priority) in the region and in each chunk iterating over all the filters.

If the migration fails, the code tries to migrate the filters back to the old region. However, the rollback itself can also fail in which case another migration will be erroneously performed. Besides the fact that this ping pong is not a very good idea, it also creates a problem.

Each virtual chunk references two chunks: The currently used one ('vchunk->chunk') and a backup ('vchunk->chunk2'). During migration the first holds the chunk we want to migrate filters to and the second holds the chunk we are migrating filters from.

The code currently assumes - but does not verify - that the backup chunk does not exist (NULL) if the currently used chunk does not reference the target region. This assumption breaks when we are trying to rollback a rollback, resulting in the backup chunk being overwritten and leaked [1].

Fix by not rolling back a failed rollback and add a warning to avoid future cases.

[1] WARNING: CPU: 5 PID: 1063 at lib/parman.c:291 parman_destroy+0x17/0x20 Modules linked in: CPU: 5 PID: 1063 Comm: kworker/5:11 Tainted: G W 6.9.0-rc2-custom-00784-gc6a05c468a0b #14 Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019 Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work RIP: 0010:parman_destroy+0x17/0x20 [...] Call Trace: <TASK> mlxsw_sp_acl_atcam_region_fini+0x19/0x60 mlxsw_sp_acl_tcam_region_destroy+0x49/0xf0 mlxsw_sp_acl_tcam_vregion_rehash_work+0x1f1/0x470 process_one_work+0x151/0x370 worker_thread+0x2cb/0x3e0 kthread+0xd0/0x100 ret_from_fork+0x34/0x50 ret_from_fork_asm+0x1a/0x30 </TASK>

Metrics

CVSS 3.1 6.4/10CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= 843500518509128a935edab96bd8efef7c54669e, < c6f3fa7f5a748bf6e5c4eb742686d6952f854e76; >= 843500518509128a935edab96bd8efef7c54669e, < 617e98ba4c50f4547c9eb0946b1cfc26937d70d1; >= 843500518509128a935edab96bd8efef7c54669e, < 413a01886c3958d4b8aac23a3bff3d430b92093e; >= 843500518509128a935edab96bd8efef7c54669e, < b822644fd90992ee362c5e0c8d2556efc8856c76; >= 843500518509128a935edab96bd8efef7c54669e, < 0ae8ff7b6d42e33943af462910bdcfa2ec0cb8cf; >= 843500518509128a935edab96bd8efef7c54669e, < b3fd51f684a0711504f82de510da109ae639722d; >= 843500518509128a935edab96bd8efef7c54669e, < 8ca3f7a7b61393804c46f170743c3b839df13977
LinuxLinux5.1
linuxlinux_kernel>= 843500518509, < c6f3fa7f5a74; >= 843500518509, < 617e98ba4c50; >= 843500518509, < 413a01886c39; >= 843500518509, < b822644fd909; >= 843500518509, < 0ae8ff7b6d42; >= 843500518509, < b3fd51f684a0; >= 843500518509, < 8ca3f7a7b613

References

Timeline

Published
May 17, 2024
Last modified
Jun 17, 2026
NVD status
Analyzed

Related CVEs from 2024

CVE-2024-358547.8In the Linux kernel, the following vulnerability has been resolved: mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash ThCVE-2024-358557.8In the Linux kernel, the following vulnerability has been resolved: mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity uCVE-2024-358567.8In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: mediatek: Fix double free of skb in coredump hci_devCVE-2024-358577.5In the Linux kernel, the following vulnerability has been resolved: icmp: prevent possible NULL dereferences from icmp_build_probe() FirstCVE-2024-358585.5In the Linux kernel, the following vulnerability has been resolved: net: bcmasp: fix memory leak when bringing down interface When bringinCVE-2024-358595.5In the Linux kernel, the following vulnerability has been resolved: block: fix module reference leakage from bdev_open_by_dev error path ACVE-2024-358605.5In the Linux kernel, the following vulnerability has been resolved: bpf: support deferring bpf_link dealloc to after RCU grace period BPF CVE-2024-358617.8In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect() SkCVE-2024-358627.8In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in smb2_is_network_name_deleted() Skip CVE-2024-358637.8In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in is_valid_oplock_break() Skip sessionCVE-2024-358647.8In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in smb2_is_valid_lease_break() Skip sesCVE-2024-358659.8In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in smb2_is_valid_oplock_break() Skip se