CVE-2026-98545
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
ata: libata-scsi: bound the ATA passthru sense descriptor writes
In the Linux kernel, the following vulnerability has been resolved: ata: libata-scsi: bound the ATA passthru sense descriptor writes When an ATA PASS-THROUGH command to an ATAPI device fails, the sense buffer holds the device's REQUEST SENSE reply, and ata_scsi_set_passthru_sense_fields() trusts its additional length byte, sb[7], when adding the ATA Status Return descriptor. A faulty or malicious device can use that to make the kernel read and write past the 96-byte buffer in three ways: - scsi_sense_desc_find() is passed sb[7] + 8 as the buffer length, so its clamp against sb[7] does nothing and the walk runs off the end. - A type-9 descriptor found near the end is filled in unchecked. - A new descriptor at sb[8 + len] needs len + 22 bytes, not len + 14, so len 75..82 writes up to 8 bytes past the end. Reproduced with KASAN under qemu, with the emulated ATAPI REQUEST SENSE reply patched: BUG: KASAN: slab-out-of-bounds in scsi_sense_desc_find+0x1a5/0x210 BUG: KASAN: slab-out-of-bounds in ata_scsi_qc_complete+0x1a15/0x1a50 Both are gone with this patch, and a valid descriptor is still filled in.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| ce477199c53e3db5a096981c565e232498ddeae4 | affected | git | c698f6deabf680f8f4a1727ef2dc80fe78815fbf | Unavailable | None listed |
| 97981926224afe17ba3e22e0c2b7dd8b516ee574 | affected | git | d9a7147b93624660626cd7c3b1143715699e1f5c | Unavailable | None listed |
| 97981926224afe17ba3e22e0c2b7dd8b516ee574 | affected | git | 1603abb0c50420e97cf4a1feddbd5e183c5fdf86 | Unavailable | None listed |
| 97981926224afe17ba3e22e0c2b7dd8b516ee574 | affected | git | 80fbb0bc4d11683c88f2f9d3997ea02fcada5408 | Unavailable | None listed |
| 97981926224afe17ba3e22e0c2b7dd8b516ee574 | affected | git | 80320b278fea07ffcda3f57b67b61658e0a4e1ca | Unavailable | None listed |
| 67d9d0b6ae4aaf2c4cef103a96a145c7fdfb15f8 | affected | git | Unavailable | Unavailable | None listed |
| 6.6.44 | affected | semver | 6.6.158 | Unavailable | None listed |
| 6.10.3 | affected | semver | 6.11 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.11 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.11 | Unavailable | None listed |
| 6.6.158 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.112 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.55 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.9 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |