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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
fe22e1c2f705676a705d821301fc52eecc2fe055 to < 01d7d321e6046f87ba270aeeffdc5260209bd91eaffectedfe22e1c2f705676a705d821301fc52eecc2fe055 to < 4cb4b4dd8853c4ab3057efe238b2c34277772176affectedfe22e1c2f705676a705d821301fc52eecc2fe055 to < b1607f0ee5f5e53e0aa66f41794085b7cc98f5d1affectedfe22e1c2f705676a705d821301fc52eecc2fe055 to < 4c1e8ccd8655ee8cf1bcb1b7dfee72c9fa941fd4affectedfe22e1c2f705676a705d821301fc52eecc2fe055 to < d43efd1b5d976203e6f1ef26f67e8b1a7bc2751baffectedfe22e1c2f705676a705d821301fc52eecc2fe055 to < 533a0b940f901c15e5cbbd4b5d66e871c209e8ceaffected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.184 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/01d7d321e6046f87ba270aeeffdc5260209bd91e ↗
- 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 ↗