Linux Kernel bis 6.6.156/6.12.109/6.18.50/7.2.4 qla2xxx qla_nvme_ls_reject_iocb Race Condition

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
9.5$0-$5k0.00

Zusammenfassunginfo

Eine als sehr kritisch eingestufte Schwachstelle wurde in Linux Kernel bis 6.6.156/6.12.109/6.18.50/7.2.4 festgestellt. Es geht dabei um die Funktion qla_nvme_ls_reject_iocb der Komponente qla2xxx. Dank der Manipulation mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden. Diese Verwundbarkeit ist als CVE-2026-89857 gelistet. Der Angriff kann über das Netzwerk passieren. Es existiert kein Exploit. Ein Upgrade der betroffenen Komponente wird empfohlen.

Detailsinfo

Eine Schwachstelle wurde in Linux Kernel bis 6.6.156/6.12.109/6.18.50/7.2.4 entdeckt. Sie wurde als sehr kritisch eingestuft. Dies betrifft die Funktion qla_nvme_ls_reject_iocb der Komponente qla2xxx. Durch Manipulieren mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-362. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Hold qpair lock when sending NVMe LS reject qla_nvme_ls_reject_iocb() allocates from and advances the request ring through __qla2x00_alloc_iocbs() (which assumes the hardware_lock is held) and qla2x00_start_iocbs() (which advances the ring and rings the request-in doorbell), but takes no lock itself. Two of its callers invoke it without the producer lock held: - qla_nvme_xmt_ls_rsp(), the NVMe-FC .xmt_ls_rsp transport callback, on its error path, and - qla2xxx_process_purls_pkt(), run from the purex work/DPC context. Both use ha->base_qpair, whose qp_lock_ptr is hardware_lock, so they can run concurrently with normal I/O submission on the base ring and corrupt the ring producer state, leading to duplicated or dropped commands. The third caller, qla2xxx_process_purls_iocb(), runs inside qla24xx_process_response_queue() with the qpair lock already held and is safe; that is also why the lock cannot be taken inside the helper itself (it would recursively re-acquire hardware_lock on the response path). Take qp_lock_ptr around the two unlocked callers and document the helper as caller-locked. Both run in process context, so spin_lock_irqsave() is used and nothing in the locked region sleeps.

Bereitgestellt wird das Advisory unter git.kernel.org. Die Verwundbarkeit wird seit dem 11.09.2026 mit der eindeutigen Identifikation CVE-2026-89857 gehandelt. Die Ausnutzbarkeit ist als leicht bekannt. Umgesetzt werden kann der Angriff über das Netzwerk. Das Ausnutzen erfordert keine spezifische Authentisierung. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 16.09.2026).

Ein Aktualisieren auf die Version 6.6.157, 6.12.110, 6.18.51, 7.2.5 oder 7.3-rc1 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 7eb618877503edbf17aa65e357a81bda1fc8f163/b3a362466db6b8ec47cc537ac641ac197fa69b5d/11834e5773e20fd3742d7eb900876e66b9e7d029/b02ff132017b28222187ebcf95ce7f4cb576cd36/f743488e4a203049f27ec5d8cd0caccc483af01e lösen. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.

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

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 10.0
VulDB Meta Temp Score: 9.5

VulDB Base Score: 10.0
VulDB Temp Score: 9.5
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Race Condition
CWE: CWE-362
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 6.6.157/6.12.110/6.18.51/7.2.5/7.3-rc1
Patch: 7eb618877503edbf17aa65e357a81bda1fc8f163/b3a362466db6b8ec47cc537ac641ac197fa69b5d/11834e5773e20fd3742d7eb900876e66b9e7d029/b02ff132017b28222187ebcf95ce7f4cb576cd36/f743488e4a203049f27ec5d8cd0caccc483af01e

Timelineinfo

11.09.2026 CVE zugewiesen
16.09.2026 +5 Tage Advisory veröffentlicht
16.09.2026 +0 Tage VulDB Eintrag erstellt
16.09.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Hersteller: kernel.org

Advisory: git.kernel.org
Status: Bestätigt

CVE: CVE-2026-89857 (🔒)
GCVE (CVE): GCVE-0-2026-89857
GCVE (VulDB): GCVE-100-405677

Eintraginfo

Erstellt: 16.09.2026 13:41
Anpassungen: 16.09.2026 13:41 (59)
Komplett: 🔍
Cache ID: 216::103

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

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you want to use VulDB in your project?

Use the official API to access entries easily!