Executive brief
A vulnerability in the Linux kernel's networking subsystem could allow a local user to crash the system. The issue occurs when the system processes specific network configuration changes on virtual interfaces, leading to an invalid memory access. This results in a kernel 'oops' or crash, impacting the availability of the server or device.
Technical details
A vulnerability exists in the Linux kernel's net/dsa component due to an improper dereference of netdev_priv() before performing a type check. Specifically, in dsa_user_to_port(), the code attempts to access a dsa_user_priv structure for every NETDEV_CHANGEUPPER and NETDEV_PRECHANGEUPPER event, regardless of whether the device is a DSA device. While most drivers allocate enough private memory to avoid a fault, 'dummy' interfaces with zero-sized private data cause a slab-out-of-bounds read. A local attacker can trigger this by creating a dummy interface and adding a VLAN upper device, leading to a kernel oops and denial of service. The issue has been patched by moving the dereference after the dsa_user_dev_check() call.
Affected products
- Linux Linux kernel 6.1.0 to 6.7.2
Timeline
- 2024-01-11: patched: Mainline kernel patch committed
- 2024-02-23: advisory: CVE-2024-26596 published
References
- https://git.kernel.org/stable/c/69a1e2d938dbbfcff0e064269adf60ad26dbb102
- https://git.kernel.org/stable/c/844f104790bd69c2e4dbb9ee3eba46fde1fcea7b
- https://git.kernel.org/stable/c/9e9953f5e4d6d11a9dad56fdee307bb923302809
- https://git.kernel.org/stable/c/dbd909c20c11f0d29c0054d41e0d1f668a60e8c8
- https://lists.debian.org/debian-lts-announce/2025/03/msg00028.html
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html