CVE-2026-64428 in Linuxinfo

Zusammenfassung

von VulDB • 25.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

gpio: sch: Verwendung von raw_spinlock_t im IRQ-Startpfad

sch_irq_unmask() aktiviert den GPIO-IRQ und aktualisiert anschließend den Controller-Zustand über sch_irq_mask_unmask(), wobei sch->lock mit spin_lock_irqsave() gesperrt wird. Der Callback kann während der Einrichtung eines angeforderten IRQs von irq_startup() aus aufgerufen werden. Dieser Pfad ist nicht schlafbar (non-sleepable), aber unter PREEMPT_RT wird ein regulärer spinlock_t zu einem schlafenden Lock.

Dieses Problem wurde durch unser statisches Analyse-Tool gefunden und anschließend manuell gegen den aktuellen Tree überprüft.

Der PoC mit geerdetem Eingang hielt die Aufrufkette request_threaded_irq() -> __setup_irq() -> irq_startup() -> sch_irq_unmask() -> sch_irq_mask_unmask() aufrecht und verwendete die ursprüngliche Kante von spin_lock_irqsave(&sch->lock). Lockdep meldete:

BUG: sleeping function called from invalid context hardirqs last disabled at ... __setup_irq.constprop.0 ... [vuln_msv]
sch_rt_spin_lock_irqsave+0x1c/0x30 [vuln_msv]
sch_irq_mask_unmask.constprop.0+0x31/0x70 [vuln_msv]
__setup_irq.constprop.0+0xd/0x30 [vuln_msv]

Konvertieren Sie den SCH-Controller-Lock zu raw_spinlock_t. Derselbe Lock wird auch von den GPIO-Richtungs- und Wert-Callbacks verwendet, aber diese kritischen Abschnitte aktualisieren nur MMIO-gestützte GPIO-Register und enthalten keine schlafbaren Operationen. Die Beibehaltung dieses Register-Locks als nicht-schlafend ist daher für die irqchip-Calls angemessen und ändert den Sperrvertrag auf der GPIO-Seite nicht.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

25.07.2026

Moderieren

akzeptiert

Eintrag

VDB-383199

CPE

bereit

EPSS

0.00173

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!