-

CVE-2026-31412

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

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.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version 144974e7f9e32b53b02f6c8632be45d8f43d6ab5
Version < 91817ad5452defe69bc7bc0e355f0ed5d01125cc
Status affected
Version 144974e7f9e32b53b02f6c8632be45d8f43d6ab5
Version < ce0caaed5940162780c5c223b8ae54968a5f059b
Status affected
Version 144974e7f9e32b53b02f6c8632be45d8f43d6ab5
Version < 228b37936376143f4b60cc6828663f6eaceb81b5
Status affected
Version 144974e7f9e32b53b02f6c8632be45d8f43d6ab5
Version < 3428dc5520c811e66622b2f5fa43341bf9a1f8b3
Status affected
Version 144974e7f9e32b53b02f6c8632be45d8f43d6ab5
Version < 387ebb0453b99d71491419a5dc4ab4bee0cacbac
Status affected
Version 144974e7f9e32b53b02f6c8632be45d8f43d6ab5
Version < 8479891d1f04a8ce55366fe4ca361ccdb96f02e1
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 3.3
Status affected
Version 0
Version < 3.3
Status unaffected
Version <= 6.1.*
Version 6.1.167
Status unaffected
Version <= 6.6.*
Version 6.6.130
Status unaffected
Version <= 6.12.*
Version 6.12.78
Status unaffected
Version <= 6.18.*
Version 6.18.19
Status unaffected
Version <= 6.19.*
Version 6.19.9
Status unaffected
Version <= *
Version 7.0
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.02% 0.03
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.