usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() (Linux Linux)

CVE-2026-31412
MEDIUM 5.5

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

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 91817ad5452defe69bc7bc0e355f0ed5d01125cc ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < ce0caaed5940162780c5c223b8ae54968a5f059b ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 228b37936376143f4b60cc6828663f6eaceb81b5 ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 3428dc5520c811e66622b2f5fa43341bf9a1f8b3 ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 387ebb0453b99d71491419a5dc4ab4bee0cacbac ; affected 144974e7f9e32b53b02f6c8632be45d8f43d6ab5 < 8479891d1f04a8ce55366fe4ca361ccdb96f02e1
Linux · Linuxaffected 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

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD