CVE-2026-98773 in Linuxinfo

Zusammenfassung

von VulDB • 19.10.2026

Im Linux-Kernel wurde die folgende Schwachstelle behoben:

USB: cdc-acm: URB-Neustart in port_shutdown überspringen, wenn getrennt

acm_port_shutdown() wird aus der tty-port-Maschinerie aufgerufen, sobald der letzte Benutzer den Port schließt. acm_disconnect() setzt acm->disconnected und ruft tty_port_tty_vhangup() auf, was schließlich port_shutdown() auslöst. Zu diesem Zeitpunkt hat acm_disconnect() bereits acm_poison_urbs() aufgerufen und ist dabei, die Control-URBs (urb) und Read-URBs freizugeben.

acm_port_shutdown() ruft jedoch bedingungslos acm_unpoison_urbs() auf und reicht bei gesetztem ALWAYS_POLL_CTRL-Quirk sofort den ctrlurb sowie alle read URBs erneut ein. Wenn das parallele acm_disconnect() diese URBs und deren DMA-Puffer freigibt, während sie sich im Flug befinden (in-flight), führt dies zu einem Use-After-Free in acm_ctrl_irq() oder acm_read_bulk_callback(), die auf den freigegebenen DMA-Speicher zugreifen.

Behebung durch Überprüfung von acm->disconnected nach dem Ablaufen der verzögerten Anchor und vorzeitiges Zurückkehren: Wenn wir uns im Disconnect-Pfad befinden, müssen die URBs vergiftet (poisoned) bleiben und dürfen nicht erneut eingereicht werden.

Die vorzeitige Rückgabe erfolgt nach der Schleife zum Ablaufen des verzögerten Anchors, da diese Schleife nur die write-side accounting-Verwaltung durchführt (wb->use = false und autopm-Zähler), den Hardware-Pfad jedoch nicht berührt.

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

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-421938

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!