{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46105","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-05-13T15:03:33.097Z","datePublished":"2026-05-28T09:35:09.126Z","dateUpdated":"2026-08-05T12:29:39.746Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:29:39.746Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: mpt3sas: Limit NVMe request size to 2 MiB\n\nThe HBA firmware reports NVMe MDTS values based on the underlying drive\ncapability. However, because the driver allocates a fixed 4K buffer for\nthe PRP list, accommodating at most 512 entries, the driver supports a\nmaximum I/O transfer size of 2 MiB.\n\nLimit max_hw_sectors to the smaller of the reported MDTS and the 2 MiB\ndriver limit to prevent issuing oversized I/O that may lead to a kernel\noops."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable code is a SCSI/NVMe storage HBA driver with no network exposure; the overflow is reached by issuing block I/O to an NVMe device behind the controller, requiring local access to the affected system.\nAC:L - On an affected configuration (an NVMe drive reporting MDTS > 2 MiB behind the HBA), the uncapped max_hw_sectors lets a single >2 MiB I/O reach the driver, so the attacker reliably overflows the fixed 512-entry PRP buffer with no race or uncontrolled condition.\nPR:L - An ordinary unprivileged local user with read/write access to a file or block device on the NVMe drive can issue a large O_DIRECT request that the block layer submits as one oversized I/O; no root or special capability is needed.\nUI:N - The attacker triggers the overflow directly by submitting their own large I/O; no action by another user is required.\nS:U - The corruption is confined to kernel memory within the same security authority; there is no VM/IOMMU/sandbox boundary crossing.\nC:H - The out-of-bounds write corrupts the contiguous DMA pool holding PRP descriptors for other in-flight commands, and such memory corruption of DMA address lists can be leveraged to misdirect DMA and disclose memory contents.\nI:H - This is an out-of-bounds/heap write past the fixed PRP DMA buffer, corrupting adjacent kernel DMA-pool memory with attacker-influenced (page-address) data — classic memory-corruption integrity impact.\nA:H - Overrunning the fixed PRP buffer corrupts kernel memory and leads to a kernel oops/panic, as documented in the fix (\"may lead to a kernel oops\")."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/mpt3sas/mpt3sas_scsih.c"],"versions":[{"version":"9b8b84879d4adc506b0d3944e20b28d9f3f6994b","lessThan":"45dcc815fc5539e88154315f36cbcb11d3a52fc2","status":"affected","versionType":"git"},{"version":"9b8b84879d4adc506b0d3944e20b28d9f3f6994b","lessThan":"e5f9824817c6358b9f9738bdb92dec9e4e794d3c","status":"affected","versionType":"git"},{"version":"9b8b84879d4adc506b0d3944e20b28d9f3f6994b","lessThan":"04631f55afc543d5431a2bdee7f6cc0f2c0debe7","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/mpt3sas/mpt3sas_scsih.c"],"versions":[{"version":"6.17","status":"affected"},{"version":"0","lessThan":"6.17","status":"unaffected","versionType":"semver"},{"version":"6.18.30","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.7","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17","versionEndExcluding":"6.18.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17","versionEndExcluding":"7.0.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/45dcc815fc5539e88154315f36cbcb11d3a52fc2"},{"url":"https://git.kernel.org/stable/c/e5f9824817c6358b9f9738bdb92dec9e4e794d3c"},{"url":"https://git.kernel.org/stable/c/04631f55afc543d5431a2bdee7f6cc0f2c0debe7"}],"title":"scsi: mpt3sas: Limit NVMe request size to 2 MiB","x_generator":{"engine":"bippy-1.2.0"}}}}