CVE-2026-72030: ata: libata-core: Reject an invalid concurrent positioning ranges count
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081511-CVE-2026-72030-db86@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: ata: libata-core: Reject an invalid concurrent positioning ranges count ata_dev_config_cpr() takes the number of range descriptors from buf[0] of the concurrent positioning ranges log (up to 255), which the device reports independently of the log size in the GPL directory. The count is then walked at a fixed 32-byte stride in two places with no bound: the log read here, and the INQUIRY VPD page B9h emitter, which writes one descriptor per range into the fixed 2048-byte ata_scsi_rbuf. A device reporting a count larger than its own log overflows the read buffer (up to 7704 bytes past a 512-byte slab), and a count above 62 overflows the response buffer on the emit side. Bound the count once, on probe, against both the log the device returned and the number of descriptors the VPD B9h response buffer can hold (ATA_DEV_MAX_CPR, derived from the rbuf size). Reject an out-of-range count with a warning; this keeps the emitter in bounds with no separate change there. The Linux kernel CVE team has assigned CVE-2026-72030 to this issue. Affected and fixed versions =========================== Issue introduced in 5.16 with commit fe22e1c2f705676a705d821301fc52eecc2fe055 and fixed in 6.6.148 with commit 4cb4b4dd8853c4ab3057efe238b2c34277772176 Issue introduced in 5.16 with commit fe22e1c2f705676a705d821301fc52eecc2fe055 and fixed in 6.12.101 with commit b1607f0ee5f5e53e0aa66f41794085b7cc98f5d1 Issue introduced in 5.16 with commit fe22e1c2f705676a705d821301fc52eecc2fe055 and fixed in 6.18.42 with commit 4c1e8ccd8655ee8cf1bcb1b7dfee72c9fa941fd4 Issue introduced in 5.16 with commit fe22e1c2f705676a705d821301fc52eecc2fe055 and fixed in 7.1.5 with commit d43efd1b5d976203e6f1ef26f67e8b1a7bc2751b Issue introduced in 5.16 with commit fe22e1c2f705676a705d821301fc52eecc2fe055 and fixed in 7.2-rc2 with commit 533a0b940f901c15e5cbbd4b5d66e871c209e8ce Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-72030 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/ata/libata-core.c drivers/ata/libata-scsi.c drivers/ata/libata.h Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/4cb4b4dd8853c4ab3057efe238b2c34277772176 https://git.kernel.org/stable/c/b1607f0ee5f5e53e0aa66f41794085b7cc98f5d1 https://git.kernel.org/stable/c/4c1e8ccd8655ee8cf1bcb1b7dfee72c9fa941fd4 https://git.kernel.org/stable/c/d43efd1b5d976203e6f1ef26f67e8b1a7bc2751b https://git.kernel.org/stable/c/533a0b940f901c15e5cbbd4b5d66e871c209e8ce