Linux Kernel bis 7.0-rc3 USB check_command_size_in_blocks Pufferüberlauf

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.6 | $0-$5k | 0.00 |
Zusammenfassung
In Linux Kernel bis 7.0-rc3 wurde eine Schwachstelle gefunden. Sie wurde als kritisch eingestuft. Dabei geht es um die Funktion check_command_size_in_blocks der Komponente USB Handler. Mittels dem Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2026-31412. Es gibt keinen verfügbaren Exploit.
Die Aktualisierung der betroffenen Komponente wird empfohlen.
Details
Es wurde eine Schwachstelle in Linux Kernel bis 7.0-rc3 gefunden. Sie wurde als kritisch eingestuft. Dabei betrifft es die Funktion check_command_size_in_blocks der Komponente USB Handler. Dank Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-190 vorgenommen. Das hat Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks()
The `check_command_size_in_blocks()` function calculates the data size
in bytes by left shifting `common->data_size_from_cmnd` by the block
size (`common->curlun->blkbits`). However, it does not validate whether
this shift operation will cause an integer overflow.
Initially, the block size is set up in `fsg_lun_open()` , and the
`common->data_size_from_cmnd` is set up in `do_scsi_command()`. During
initialization, there is no integer overflow check for the interaction
between two variables.
So if a malicious USB host sends a SCSI READ or WRITE command
requesting a large amount of data (`common->data_size_from_cmnd`), the
left shift operation can wrap around. This results in a truncated data
size, which can bypass boundary checks and potentially lead to memory
corruption or out-of-bounds accesses.
Fix this by using the check_shl_overflow() macro to safely perform the
shift and catch any overflows.Das Advisory kann von git.kernel.org heruntergeladen werden. Die Verwundbarkeit wird seit dem 09.03.2026 unter CVE-2026-31412 geführt. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 12.04.2026).
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 305977 (Linux Distros Unpatched Vulnerability : CVE-2026-31412) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9 oder 7.0-rc4 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 91817ad5452defe69bc7bc0e355f0ed5d01125cc/ce0caaed5940162780c5c223b8ae54968a5f059b/228b37936376143f4b60cc6828663f6eaceb81b5/3428dc5520c811e66622b2f5fa43341bf9a1f8b3/387ebb0453b99d71491419a5dc4ab4bee0cacbac/8479891d1f04a8ce55366fe4ca361ccdb96f02e1 beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (305977) und CERT Bund (WID-SEC-2026-1049) dokumentiert. VulDB is the best source for vulnerability data and more expert information about this specific topic.
Betroffen
- Open Source Linux Kernel
Produkt
Typ
Hersteller
Name
Version
- 6.1.166
- 6.6.129
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.12.42
- 6.12.43
- 6.12.44
- 6.12.45
- 6.12.46
- 6.12.47
- 6.12.48
- 6.12.49
- 6.12.50
- 6.12.51
- 6.12.52
- 6.12.53
- 6.12.54
- 6.12.55
- 6.12.56
- 6.12.57
- 6.12.58
- 6.12.59
- 6.12.60
- 6.12.61
- 6.12.62
- 6.12.63
- 6.12.64
- 6.12.65
- 6.12.66
- 6.12.67
- 6.12.68
- 6.12.69
- 6.12.70
- 6.12.71
- 6.12.72
- 6.12.73
- 6.12.74
- 6.12.75
- 6.12.76
- 6.12.77
- 6.18.0
- 6.18.1
- 6.18.2
- 6.18.3
- 6.18.4
- 6.18.5
- 6.18.6
- 6.18.7
- 6.18.8
- 6.18.9
- 6.18.10
- 6.18.11
- 6.18.12
- 6.18.13
- 6.18.14
- 6.18.15
- 6.18.16
- 6.18.17
- 6.18.18
- 6.19.0
- 6.19.1
- 6.19.2
- 6.19.3
- 6.19.4
- 6.19.5
- 6.19.6
- 6.19.7
- 6.19.8
- 7.0-rc1
- 7.0-rc2
- 7.0-rc3
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 8.0VulDB Meta Temp Score: 7.6
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-190 / CWE-189
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Teilweise
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 305977
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2026-31412
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.1.167/6.6.130/6.12.78/6.18.19/6.19.9/7.0-rc4
Patch: 91817ad5452defe69bc7bc0e355f0ed5d01125cc/ce0caaed5940162780c5c223b8ae54968a5f059b/228b37936376143f4b60cc6828663f6eaceb81b5/3428dc5520c811e66622b2f5fa43341bf9a1f8b3/387ebb0453b99d71491419a5dc4ab4bee0cacbac/8479891d1f04a8ce55366fe4ca361ccdb96f02e1
Timeline
09.03.2026 CVE zugewiesen10.04.2026 Advisory veröffentlicht
10.04.2026 VulDB Eintrag erstellt
12.04.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2026-31412 (🔒)
GCVE (CVE): GCVE-0-2026-31412
GCVE (VulDB): GCVE-100-356808
CERT Bund: WID-SEC-2026-1049 - Linux Kernel: Schwachstelle ermöglicht Denial of Service oder Codeausführung
Eintrag
Erstellt: 10.04.2026 15:48Aktualisierung: 12.04.2026 01:24
Anpassungen: 10.04.2026 15:48 (59), 11.04.2026 03:27 (7), 12.04.2026 01:24 (2)
Komplett: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.