CVE-2024-56670 in Linuxinfo

Zusammenfassung

von VulDB • 09.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

usb: gadget: u_serial: Behebung des Problems, bei dem gs_start_io aufgrund eines Zugriffs auf einen Nullzeiger abstürzte.

Unter extremen Bedingungen kann es vorkommen, dass der Treiber „u_serial“ von mehreren Threads gleichzeitig angesprochen wird. Thread A führt die Open-Operation aus und ruft gs_open auf, während Thread B die Disconnect-Operation durchführt und die Funktion gserial_disconnect aufruft. Dabei wird der Zeiger port->port_usb auf NULL gesetzt.

Beispiel: Thread A Thread B gs_open() gadget_unbind_driver() gs_start_io() composite_disconnect() gs_start_rx() gserial_disconnect() ... ... spin_unlock(&port->port_lock) status = usb_ep_queue() spin_lock(&port->port_lock) spin_lock(&port->port_lock) port->port_usb = NULL gs_free_requests(port->port_usb->in) spin_unlock(&port->port_lock) Absturz

Dies führt dazu, dass Thread A beim Aufruf der Funktion gs_free_requests auf einen Nullzeiger zugreift (port->port_usb ist null), was einen Systemabsturz verursacht.

Wenn port_usb NULL ist, wird die Freigabe-Anforderung übersprungen, da sie von gserial_disconnect übernommen wird.

Daher wurde eine Prüfung auf Nullzeiger in gs_start_io hinzugefügt, bevor versucht wird, den Wert des Zeigers port->port_usb zu accessesieren.

Call-Trace: gs_start_io+0x164/0x25c gs_open+0x108/0x13c tty_open+0x314/0x638 chrdev_open+0x1b8/0x258 do_dentry_open+0x2c4/0x700 vfs_open+0x2c/0x3c path_openat+0xa64/0xc60 do_filp_open+0xb8/0x164 do_sys_openat2+0x84/0xf0 __arm64_sys_openat+0x70/0x9c invoke_syscall+0x58/0x114 el0_svc_common+0x80/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x38/0x68

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

27.12.2024

Veröffentlichung

27.12.2024

Moderieren

akzeptiert

Eintrag

VDB-289506

CPE

bereit

EPSS

0.00224

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!