CVE-2026-63903
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
USB: serial: belkin_sa: validate interrupt status length
The Belkin interrupt callback treats interrupt data as a four-byte status report and reads LSR/MSR fields at offsets 2 and 3. The interrupt-in buffer length is derived from endpoint wMaxPacketSize, and short interrupt transfers may complete successfully with a smaller actual_length.
Check the completed interrupt packet length before parsing status fields so short interrupt endpoints and short successful packets are ignored instead of causing out-of-bounds or stale status-byte reads.
KASAN report as below:
BUG: KASAN: slab-out-of-bounds in belkin_sa_read_int_callback() Read of size 1 Call trace: belkin_sa_read_int_callback() (drivers/usb/serial/belkin_sa.c:202) __usb_hcd_giveback_urb() (drivers/usb/core/hcd.c:1630) dummy_timer() (?:?)
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f1617539ab90e67da788959bfd314076f093a11a | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f361359a952da15e70e693c2d7dca5c5843eae3e | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 37e54d1b986df35c936d81e5b59a7aa3ec6938f0 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < ffb739a49186ea784bbd9cb91b647f062395b419 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 6a4602221cba7a738442328d66a2f0b1c9bf6e17 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 22823a319fb2afdf02cacafbed8b613b757efbc8 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < db1e7eb6203d534dad64cac2c793b69e561e657b | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 4ce058df2ee02cc2a0f0fd5cd64ce6f1482a0b65 | affected |
| Linux | Linux | 2.6.12 | affected |
| Linux | Linux | 0 < 2.6.12 | unaffected |
| Linux | Linux | 5.10.259 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.210 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.176 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.143 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.93 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.35 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.12 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/f1617539ab90e67da788959bfd314076f093a11a
- https://git.kernel.org/stable/c/f361359a952da15e70e693c2d7dca5c5843eae3e
- https://git.kernel.org/stable/c/37e54d1b986df35c936d81e5b59a7aa3ec6938f0
- https://git.kernel.org/stable/c/ffb739a49186ea784bbd9cb91b647f062395b419
- https://git.kernel.org/stable/c/6a4602221cba7a738442328d66a2f0b1c9bf6e17
- https://git.kernel.org/stable/c/22823a319fb2afdf02cacafbed8b613b757efbc8
- https://git.kernel.org/stable/c/db1e7eb6203d534dad64cac2c793b69e561e657b
- https://git.kernel.org/stable/c/4ce058df2ee02cc2a0f0fd5cd64ce6f1482a0b65
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.