{"id":"CVE-2026-98545","title":"ata: libata-scsi: bound the ATA passthru sense descriptor writes","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nata: libata-scsi: bound the ATA passthru sense descriptor writes\n\nWhen an ATA PASS-THROUGH command to an ATAPI device fails, the sense\nbuffer holds the device's REQUEST…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= ce477199c53e3db5a096981c565e232498ddeae4 < c698f6deabf680f8f4a1727ef2dc80fe78815fbf","Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < d9a7147b93624660626cd7c3b1143715699e1f5c","Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < 1603abb0c50420e97cf4a1feddbd5e183c5fdf86","Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < 80fbb0bc4d11683c88f2f9d3997ea02fcada5408","Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < 80320b278fea07ffcda3f57b67b61658e0a4e1ca","Linux 67d9d0b6ae4aaf2c4cef103a96a145c7fdfb15f8","Linux >= 6.6.44 < 6.6.158","Linux >= 6.10.3 < 6.11","Linux 6.11"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:18:13.949Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98545","references":[{"url":"https://git.kernel.org/stable/c/c698f6deabf680f8f4a1727ef2dc80fe78815fbf"},{"url":"https://git.kernel.org/stable/c/d9a7147b93624660626cd7c3b1143715699e1f5c"},{"url":"https://git.kernel.org/stable/c/1603abb0c50420e97cf4a1feddbd5e183c5fdf86"},{"url":"https://git.kernel.org/stable/c/80fbb0bc4d11683c88f2f9d3997ea02fcada5408"},{"url":"https://git.kernel.org/stable/c/80320b278fea07ffcda3f57b67b61658e0a4e1ca"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T15:45:12.267Z","slug":"CVE-2026-98545","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nata: libata-scsi: bound the ATA passthru sense descriptor writes\n\nWhen an ATA PASS-THROUGH command to an ATAPI device fails, the sense\nbuffer holds the device's REQUEST SENSE reply, and\nata_scsi_set_passthru_sense_fields() trusts its additional length\nbyte, sb[7], when adding the ATA Status Return descriptor.  A faulty\nor malicious device can use that to make the kernel read and write\npast the 96-byte buffer in three ways:\n\n- scsi_sense_desc_find() is passed sb[7] + 8 as the buffer length, so\n  its clamp against sb[7] does nothing and the walk runs off the end.\n- A type-9 descriptor found near the end is filled in unchecked.\n- A new descriptor at sb[8 + len] needs len + 22 bytes, not len + 14,\n  so len 75..82 writes up to 8 bytes past the end.\n\nReproduced with KASAN under qemu, with the emulated ATAPI REQUEST SENSE\nreply patched:\n\n  BUG: KASAN: slab-out-of-bounds in scsi_sense_desc_find+0x1a5/0x210\n  BUG: KASAN: slab-out-of-bounds in ata_scsi_qc_complete+0x1a15/0x1a50\n\nBoth are gone with this patch, and a valid descriptor is still filled\nin.\n\n## Affected\n\n- `Linux >= ce477199c53e3db5a096981c565e232498ddeae4 < c698f6deabf680f8f4a1727ef2dc80fe78815fbf`\n- `Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < d9a7147b93624660626cd7c3b1143715699e1f5c`\n- `Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < 1603abb0c50420e97cf4a1feddbd5e183c5fdf86`\n- `Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < 80fbb0bc4d11683c88f2f9d3997ea02fcada5408`\n- `Linux >= 97981926224afe17ba3e22e0c2b7dd8b516ee574 < 80320b278fea07ffcda3f57b67b61658e0a4e1ca`\n- `Linux 67d9d0b6ae4aaf2c4cef103a96a145c7fdfb15f8`\n- `Linux >= 6.6.44 < 6.6.158`\n- `Linux >= 6.10.3 < 6.11`\n- `Linux 6.11`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}