{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-31412 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-31412 is a medium-severity vulnerability in Linux kernel, published on 10 Apr 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-31412 and fix it if it is affected.\n\nWhat it is: CVE-2026-31412 is a medium-severity vulnerability in Linux kernel, published on 10 Apr 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-31412 in the wild and no public exploit code.\n\nAffected product: Linux kernel. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-31412/ (Markdown: https://insights.sbomify.com/CVE-2026-31412/index.md)","id":"CVE-2026-31412","markdown":"https://insights.sbomify.com/CVE-2026-31412/index.md","name":"CVE-2026-31412","record":{"aliases":["BELL-CVE-2026-31412","DEBIAN-CVE-2026-31412","GHSA-35q9-fp2v-jhcq","ROOT-OS-DEBIAN-11-CVE-2026-31412","ROOT-OS-DEBIAN-12-CVE-2026-31412","ROOT-OS-DEBIAN-13-CVE-2026-31412","ROOT-OS-UBUNTU-2204-CVE-2026-31412","ROOT-OS-UBUNTU-2404-CVE-2026-31412","UBUNTU-CVE-2026-31412"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["code_execution","privilege_escalation"],"network_reachable":"adjacent_or_local","non_default_config":true,"product_category":"Linux kernel USB gadget","requires_auth":"low_privilege","summary":"A malicious USB host can trigger an integer overflow in the Linux kernel's mass storage gadget driver, potentially leading to memory corruption and privilege escalation.","user_interaction":"not_required","vuln_class":"integer_overflow"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[{"product":"linux_kernel","vendor":"linux"}],"cvss":{"score":5.5,"severity":"medium","source":"nvd","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-190","name":"Integer Overflow or Wraparound"}],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks()\n\nThe `check_command_size_in_blocks()` function calculates the data size\nin bytes by left shifting `common-\u003edata_size_from_cmnd` by the block\nsize (`common-\u003ecurlun-\u003eblkbits`). However, it does not validate whether\nthis shift operation will cause an integer overflow.\n\nInitially, the block size is set up in `fsg_lun_open()` , and the\n`common-\u003edata_size_from_cmnd` is set up in `do_scsi_command()`. During\ninitialization, there is no integer overflow check for the interaction\nbetween two variables.\n\nSo if a malicious USB host sends a SCSI READ or WRITE command\nrequesting a large amount of data (`common-\u003edata_size_from_cmnd`), the\nleft shift operation can wrap around. This results in a truncated data\nsize, which can bypass boundary checks and potentially lead to memory\ncorruption or out-of-bounds accesses.\n\nFix this by using the check_shl_overflow() macro to safely perform the\nshift and catch any overflows.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks()","id":"CVE-2026-31412","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":"linux:linux_kernel","products":["linux:linux_kernel"],"type":"integer_overflow","year":"2026"},"n_packages":0,"n_references":6,"next":{"headline":"bpf: Fix unsound scalar forking in maybe_fork_scalars() for BPF_OR","id":"CVE-2026-31413"},"packages":[],"prev":{"headline":"net: atm: fix crash due to unvalidated vcc pointer in sigd_send()","id":"CVE-2026-31411"},"products":["Linux"],"published":"2026-04-10","related":[{"cvss_score":8.8,"headline":"Linux Kernel Out-of-Bounds Write","id":"CVE-2026-53266","kev_date_added":"2026-09-18","published":"2026-06-25"},{"cvss_score":8.8,"headline":"Linux Kernel Improper Input Validation","id":"CVE-2013-6282","kev_date_added":"2022-09-15","published":"2013-11-19"},{"cvss_score":8.4,"headline":"Linux Kernel Heap-Based Buffer Overflow","id":"CVE-2022-0185","kev_date_added":"2024-08-21","published":"2022-02-11"},{"cvss_score":8.4,"headline":"Linux Kernel Privilege Escalation","id":"CVE-2013-2094","kev_date_added":"2022-09-15","published":"2013-05-14"},{"cvss_score":7.8,"headline":"Linux Kernel Unspecified","id":"CVE-2026-53362","kev_date_added":"2026-08-27","published":"2026-07-04"},{"cvss_score":7.8,"headline":"Linux Kernel Missing Initialization of a Variable","id":"CVE-2026-46300","kev_date_added":"2026-10-28","published":"2026-05-23"},{"cvss_score":7.8,"headline":"Linux Kernel Race Condition","id":"CVE-2025-39964","kev_date_added":"2026-09-18","published":"2025-10-13"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-05-11","vendors":["Linux"]},"summary":"A malicious USB host can trigger an integer overflow in the Linux kernel's mass storage gadget driver, potentially leading to memory corruption and privilege escalation.","url":"https://insights.sbomify.com/CVE-2026-31412/"}