PT-2024-3369 · Linux+6 · Linux Kernel+6

Norihiko Hama

·

Published

2024-04-04

·

Updated

2026-03-14

·

CVE-2024-26996

CVSS v3.1

7.8

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions: Linux kernel (affected versions not specified)
Description: The issue is related to a use-after-free error in the Linux kernel's USB gadget functionality, specifically in the f ncm module. When the ncm function is working and the usb0 interface is stopped for link down, eth stop() is called. If a USB transport error occurs in usb ep enable(), the in ep and/or out ep may not be enabled. As a result, ncm disable() is called to disable the ncm unbind, but gether disconnect() is never called since in ep is not enabled. This leads to the ncm object being released in ncm unbind() but the dev->port usb associated with ncm->port is not NULL. When the ncm bind is called again to recover the netdev, the ncm object is reallocated, but the usb0 interface is already associated with the previous released ncm object. This can cause a use-after-free memory error when eth start xmit() is called.
Technical details about exploitation include:
  • The ncm disable() function not calling gether disconnect() due to in ep not being enabled.
  • The ncm object being released in ncm unbind() but dev->port usb remaining associated with the released object.
  • The ncm object being reallocated when ncm bind is called again, but the usb0 interface still being associated with the previous released ncm object.
Recommendations: At the moment, there is no information about a newer version that contains a fix for this vulnerability.

Exploit

Use After Free

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

BDU:2024-03641
CVE-2024-26996
DSA-5680-1
MGASA-2024-0263
MGASA-2024-0266
OESA-2024-1677
OESA-2024-1678
OESA-2025-1080
SUSE-SU-2024:1979-1
SUSE-SU-2024:1983-1
SUSE-SU-2024:2008-1
SUSE-SU-2024:2019-1
SUSE-SU-2024:2135-1
SUSE-SU-2024:2184-1
SUSE-SU-2024:2190-1
SUSE-SU-2024:2203-1
SUSE-SU-2024:2973-1
SUSE-SU-2025:20008-1
SUSE-SU-2025:20028-1
SUSE-SU-2025:20166-1
SUSE-SU-2025:20249-1
USN-6893-1
USN-6893-2
USN-6893-3
USN-6898-1
USN-6898-2
USN-6898-3
USN-6898-4
USN-6917-1
USN-6918-1
USN-6919-1
USN-6927-1
USN-7019-1
USN-7496-1
USN-7496-2
USN-7496-3
USN-7496-4
USN-7496-5
USN-7506-1
USN-7506-2
USN-7506-3
USN-7506-4
USN-7516-1
USN-7516-2
USN-7516-3
USN-7516-4
USN-7516-5
USN-7516-6
USN-7516-7
USN-7516-8
USN-7516-9
USN-7517-1
USN-7517-2
USN-7517-3
USN-7518-1
USN-7539-1
USN-7540-1
USN-7640-1

Affected Products

Astra Linux
Debian
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu