CVE-2026-98766 in Linuxinfo

Zusammenfassung

von VulDB • 18.10.2026

Im Linux-Kernel wurde die folgende Schwachstelle behoben:

usb: gadget: aspeed-vhub: Cancel-Wake-Arbeit beim Entfernen des Geräts abbrechen

wake_work wird aus dem Gadget-.wakeup-Callback aktiviert, um angehaltene Downstream-Ports wieder aufzuwecken, und es wird in ast_vhub_remove() niemals abgebrochen. Daher kann ein vor oder während der Entfernung eingereihter Work-Item ausgeführt werden, nachdem devm vhub und seine Ports freigegeben hat – dies stellt einen Use-After-Free-Fehler dar.

Das bloße Abbrechen der Arbeit reicht nicht aus: usb_gadget_wakeup() übernimmt keine Sperre (Lock), und der Unbind-Pfad löscht wakeup_en niemals. Daher kann eine Remote-Wakeup-Anfrage, die auf einer anderen CPU im Gange ist, die Arbeit nach dem Cancel erneut aktivieren, bevor vhub freigegeben wird.

ast_vhub_del_dev() setzt d->registered bereits unter vhub->lock zurück, bevor das Gadget abgemeldet wird. Weisen Sie den Wakeup in ast_vhub_udc_wakeup() zurück, sobald d->registered gelöscht ist: Die Prüfung und die schedule_work()-Aktion sind dann atomar gegenüber dem Unbind-Vorgang. Ein Wakeup, der vor dem Zurücksetzen des Flags durchkam, wird nach der del_dev-Schleife durch cancel_work_sync() abgearbeitet (gepuffert/entfernt), und ein später eintreffender kehrt zurück, ohne aktiviert zu werden. Verschieben Sie zudem INIT_WORK() an den Anfang von ast_vhub_probe(), da der Fehlerpfad des Probes ast_vhub_remove() wiederverwendet wird und andernfalls ein nie initialisiertes Work-Item abbrechen würde.

Dieses Problem wurde mit einem internen statischen Analysewerkzeug gefunden.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-421969

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!