Description
In the Linux kernel, the following vulnerability has been resolved: USB: c67x00: fix use-after-free in c67x00_add_iso_urb() When TD creation fails for the last packet of an isochronous URB, c67x00_add_iso_urb() gives the URB back before updating the endpoint scheduling state. c67x00_giveback_urb() frees the URB private data, and the completion callback may release the final URB reference. The following accesses to urbp->ep_data, urb->interval, and urbp->cnt can therefore use freed memory. Update next_frame and cnt before giving back the failed final packet, making the giveback the last operation that uses the URB and its private data.
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
e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < e4039e9bebb528dd9cd7ac72aeaec529c26c355aaffectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < ade18b4ce78a16558f4f435aece80082f6f7b64caffectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < bb572801290e25ec1c4753d14af35777303f5d6baffectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < 62cd519ab74cac499036cd88c11692f8f0d53e14affectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < ff172092cba7ec990ecc7b610ce703e19570b8f0affectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < b4cb8081cf80f82e48fbe9c021a8f6d0fa2ed421affectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < 7983daa159981fac125db2457437723f38ea1472affectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < f24dcc61bd0ecf7639fac5bf700450b398d793a7affectede9b29ffc519b9e63d4e1c0b1278bb951bb418a9d to < b1e24de475bf2d66fffc9103f3444b783527d55aaffected
Linux Linux
Default version status: affected
2.6.26affected0 to < 2.6.26unaffected5.10.269 to ≤ 5.10.*unaffected5.15.220 to ≤ 5.15.*unaffected6.1.187 to ≤ 6.1.*unaffected6.6.156 to ≤ 6.6.*unaffected6.12.108 to ≤ 6.12.*unaffected6.18.49 to ≤ 6.18.*unaffected7.1.13 to ≤ 7.1.*unaffected7.2.3 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e4039e9bebb528dd9cd7ac72aeaec529c26c355a ↗
- https://git.kernel.org/stable/c/ade18b4ce78a16558f4f435aece80082f6f7b64c ↗
- https://git.kernel.org/stable/c/bb572801290e25ec1c4753d14af35777303f5d6b ↗
- https://git.kernel.org/stable/c/62cd519ab74cac499036cd88c11692f8f0d53e14 ↗
- https://git.kernel.org/stable/c/ff172092cba7ec990ecc7b610ce703e19570b8f0 ↗
- https://git.kernel.org/stable/c/b4cb8081cf80f82e48fbe9c021a8f6d0fa2ed421 ↗
- https://git.kernel.org/stable/c/7983daa159981fac125db2457437723f38ea1472 ↗
- https://git.kernel.org/stable/c/f24dcc61bd0ecf7639fac5bf700450b398d793a7 ↗
- https://git.kernel.org/stable/c/b1e24de475bf2d66fffc9103f3444b783527d55a ↗