{
  "cveId": "CVE-2026-31412",
  "url": "https://patchblox.com/security/cve/CVE-2026-31412",
  "summary": "CVE-2026-31412 is fixed in 11 products on 1 platform, first by DEBIAN-CVE-2026-31412, released April 10, 2026. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  usb: gadget: f_mass_storage: Fix potential integ...",
  "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 \u0060check_command_size_in_blocks()\u0060 function calculates the data size in bytes by left shifting \u0060common-\u003Edata_size_from_cmnd\u0060 by the block size (\u0060common-\u003Ecurlun-\u003Eblkbits\u0060). However, it does not validate whether this shift operation will cause an integer overflow.  Initially, the block size is set up in \u0060fsg_lun_open()\u0060 , and the \u0060common-\u003Edata_size_from_cmnd\u0060 is set up in \u0060do_scsi_command()\u0060. 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 (\u0060common-\u003Edata_size_from_cmnd\u0060), 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.",
  "published": "2026-04-10T11:16:22Z",
  "severity": "medium",
  "cvss": 5.5,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.00173,
  "epssPercentile": 0.06681,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "kernel-64kb",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-azure",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default-base",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1.150700.17.33.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-docs",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-livepatch-SLE15-SP7_Update_15",
      "release": "sles 15.7",
      "fixedVersion": "1-150700.15.3.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-obs-build",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-source",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-syms",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-zfcpdump",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.170-1",
      "fix": "DEBIAN-CVE-2026-31412",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31412",
      "released": "2026-04-10T11:16:22Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.12.85-1",
      "fix": "DEBIAN-CVE-2026-31412",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31412",
      "released": "2026-04-10T11:16:22Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.19.10-1",
      "fix": "DEBIAN-CVE-2026-31412",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31412",
      "released": "2026-04-10T11:16:22Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T19:12:23Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}