usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() (Linux Linux)
En bref
- Source
- NVD
- EPSS
- EPSS 0.17 % · centile 6 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- Linux
- Statut NVD
- Analyzed
Description
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.
Faiblesses (CWE)
- CWE-190 — Débordement d'entier
Références
- https://git.kernel.org/stable/c/91817ad5452defe69bc7bc0e355f0ed5d01125cc
- https://git.kernel.org/stable/c/ce0caaed5940162780c5c223b8ae54968a5f059b
- https://git.kernel.org/stable/c/228b37936376143f4b60cc6828663f6eaceb81b5
- https://git.kernel.org/stable/c/3428dc5520c811e66622b2f5fa43341bf9a1f8b3
- https://git.kernel.org/stable/c/387ebb0453b99d71491419a5dc4ab4bee0cacbac
- https://git.kernel.org/stable/c/8479891d1f04a8ce55366fe4ca361ccdb96f02e1
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
Références européennes
- ENISA EUVD · EUVD-2026-21361
- GCVE · GCVE-0-2026-31412
Avis du CERT-FR
- CERTFR-2026-AVI-1066 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0954 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0926 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0697 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0548 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0547 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
Configurations affectées (CPE NVD)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 3.3 < 6.1.167cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.6.130cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.7 < 6.12.78cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.13 < 6.18.19cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.19 < 6.19.9cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
Produits affectés
| Produit | Versions |
|---|---|
| Linux · Linux | affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 91817ad5452defe69bc7bc0e355f0ed5d01125cc ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < ce0caaed5940162780c5c223b8ae54968a5f059b ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 228b37936376143f4b60cc6828663f6eaceb81b5 ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 3428dc5520c811e66622b2f5fa43341bf9a1f8b3 ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 387ebb0453b99d71491419a5dc4ab4bee0cacbac ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 8479891d1f04a8ce55366fe4ca361ccdb96f02e1 |
| Linux · Linux | affected 3.3 ; unaffected 0 < 3.3 ; unaffected 6.1.167 ≤ 6.1.* ; unaffected 6.6.130 ≤ 6.6.* ; unaffected 6.12.78 ≤ 6.12.* ; unaffected 6.18.19 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |