Linux Kernel bis 6.18.50/7.2.3 mfd qnap_mcu_exec Pufferüberlauf

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
7.8$0-$5k0.42+

Zusammenfassunginfo

Es wurde eine als sehr kritisch klassifizierte Schwachstelle in Linux Kernel bis 6.18.50/7.2.3 entdeckt. Es geht hierbei um die Funktion qnap_mcu_exec der Komponente mfd. Die Manipulation führt zu Pufferüberlauf. Diese Sicherheitslücke ist unter CVE-2026-80975 bekannt. Der Angriff muss lokal passieren. Es steht kein Exploit zur Verfügung. Es wird geraten, die betroffene Komponente zu aktualisieren.

Detailsinfo

In Linux Kernel bis 6.18.50/7.2.3 wurde eine Schwachstelle entdeckt. Sie wurde als sehr kritisch eingestuft. Das betrifft die Funktion qnap_mcu_exec der Komponente mfd. Durch das Manipulieren mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-121. Dies wirkt sich aus auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:

In the Linux kernel, the following vulnerability has been resolved: mfd: qnap-mcu: keep the reply buffer alive past a command timeout qnap_mcu_exec() publishes an on-stack buffer to the receive path: unsigned char rx[QNAP_MCU_RX_BUFFER_SIZE]; ... reply->data = rx; reply->length = length; and qnap_mcu_receive_buf() writes into it from the serdev receive path, which runs out of flush_to_ldisc() and is not serialized against qnap_mcu_exec() at all. bus_lock cannot cover it, because qnap_mcu_exec() holds that mutex across wait_for_completion_timeout(). On a timeout qnap_mcu_exec() returns with reply->data still pointing at its own frame. A reply that arrives late, or an unsolicited message from the MCU, is then written into a stack frame that has been left, corrupting whatever runs next on that stack. The same applies when qnap_mcu_write() fails, since that path returns without touching the reply state either. Move the receive buffer into struct qnap_mcu. It is 37 bytes and the structure is devm_kzalloc()ed, so it lives as long as the driver, and a late write lands in memory that is still valid and is reinitialized by the next command. bus_lock keeps commands from sharing it. This deliberately does not clear reply->data or reply->length on the timeout path. Doing so races with qnap_mcu_receive_buf(), which reads both after its if (!reply->length) return size; check: clearing reply->data gives a NULL dereference, and clearing reply->length alone removes the reply->received == reply->length exit condition, so the copy loop runs until the uart chunk is consumed and overruns the buffer. Leaving both set keeps the write bounded by reply->length, which qnap_mcu_exec() has already checked against sizeof(mcu->rx).

Auf git.kernel.org kann das Advisory eingesehen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 26.08.2026 mit CVE-2026-80975 vorgenommen. Sie ist leicht auszunutzen. Die Umsetzung des Angriffs hat dabei lokal zu erfolgen. Das Angehen einer erweiterte Authentisierung ist erforderlich, um eine Ausnutzung anzugehen. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Als Preis für einen Exploit ist zur Zeit ungefähr mit USD $0-$5k zu rechnen (Preisberechnung vom 11.09.2026).

Ein Upgrade auf die Version 6.18.51, 7.2.4 oder 7.3-rc1 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 0b6680e306397097a97767447368221fac753809/8391ee06d08845a0a165b5fe679ba326915166b2/47504742cea7878ebd1bf1491bbed923df6b90b1 beheben. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.

If you want to get best quality of vulnerability data, you may have to visit 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: 8.2
VulDB Meta Temp Score: 7.8

VulDB Base Score: 8.2
VulDB Temp Score: 7.8
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: Pufferüberlauf
CWE: CWE-121 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Teilweise
Lokal: Ja
Remote: Nein

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.18.51/7.2.4/7.3-rc1
Patch: 0b6680e306397097a97767447368221fac753809/8391ee06d08845a0a165b5fe679ba326915166b2/47504742cea7878ebd1bf1491bbed923df6b90b1

Timelineinfo

26.08.2026 CVE zugewiesen
11.09.2026 +16 Tage Advisory veröffentlicht
11.09.2026 +0 Tage VulDB Eintrag erstellt
11.09.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Hersteller: kernel.org

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

CVE: CVE-2026-80975 (🔒)
GCVE (CVE): GCVE-0-2026-80975
GCVE (VulDB): GCVE-100-402706

Eintraginfo

Erstellt: 11.09.2026 23:51
Anpassungen: 11.09.2026 23:51 (59)
Komplett: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit 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!