Skip to main content
← All vulnerabilities
CVE-2026-80826

USB: c67x00: fix use-after-free in c67x00_add_iso_urb()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.269, 5.15.220, 6.1.187, 6.6.156, 6.12.108, and 3 more
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in e4039e9bebb528dd9cd7ac72aeaec529c26c355a; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in ade18b4ce78a16558f4f435aece80082f6f7b64c; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in bb572801290e25ec1c4753d14af35777303f5d6b; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in 62cd519ab74cac499036cd88c11692f8f0d53e14; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in ff172092cba7ec990ecc7b610ce703e19570b8f0; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in b4cb8081cf80f82e48fbe9c021a8f6d0fa2ed421; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in 7983daa159981fac125db2457437723f38ea1472; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in f24dcc61bd0ecf7639fac5bf700450b398d793a7; From e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d · fixed in b1e24de475bf2d66fffc9103f3444b783527d55a

  • Linux Linux

    2.6.26

  • KernelLinux

    From 2.6.26 · fixed in 5.10.269; From 5.11.0 · fixed in 5.15.220; From 5.16.0 · fixed in 6.1.187; From 6.2.0 · fixed in 6.6.156; From 6.7.0 · fixed in 6.12.108; From 6.13.0 · fixed in 6.18.49; From 6.19.0 · fixed in 7.1.13; From 7.2.0 · fixed in 7.2.3

References 9

git.kernel.org