Description
In the Linux kernel, the following vulnerability has been resolved: block: don't overwrite bip_vcnt in bio_integrity_copy_user() bio_integrity_add_page() already sets bip_vcnt to 1 for the bounce segment. Overwriting it with nr_vecs breaks bip_vcnt <= bip_max_vcnt on WRITE (bip_max_vcnt is 1), so the gap-merge checks in block/blk.h read past the bip_vec[] flex array. On READ the read is in bounds but lands on a saved user bvec instead of the bounce. The line was added for split propagation, but bio_integrity_clone() doesn't copy bip_vcnt and BIP_CLONE_FLAGS excludes BIP_COPY_USER.
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
3991657ae7074c3c497bf095093178bed37ea1b4 to < d18160c9525c63c203656fefd847e94b538cd4a4affected3991657ae7074c3c497bf095093178bed37ea1b4 to < 0d48654af4d1390c888389206cc13b51b82c30e6affected3991657ae7074c3c497bf095093178bed37ea1b4 to < 066be1439593a381b1a29663becfcfe0c92363e7affected3991657ae7074c3c497bf095093178bed37ea1b4 to < 637ad3a56a3b889527d1dacea6fea2a8bd648140affected
Linux Linux
Default version status: affected
6.11affected0 to < 6.11unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected