usb: ljca: bound bank_num in ljca_enumerate_gpio()
Summary
| CVE | CVE-2026-93119 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-17 17:18:06 UTC |
| Updated | 2026-09-17 17:18:06 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
usb: ljca: bound bank_num in ljca_enumerate_gpio()
ljca_enumerate_gpio() reads desc->bank_num from the device and loops
valid_pin[i] = get_unaligned_le32(...) for i < bank_num. valid_pin[]
holds only LJCA_MAX_GPIO_NUM / 32 = 2 entries.
Two checks run before the loop. The reply length must match
struct_size(desc, bank_desc, bank_num). The product
pins_per_bank * bank_num must not exceed LJCA_MAX_GPIO_NUM. Neither one
bounds bank_num against the size of valid_pin[]. The reply is capped at
LJCA_MAX_PAYLOAD_SIZE (60) bytes, so the struct_size check limits
bank_num to 9. A device that reports bank_num 9 with pins_per_bank 7
still passes both checks. gpio_num is 63 and the reply is 56 bytes. The
loop then writes nine u32 into the two entry array and overruns
valid_pin[] on the stack.
A broken or malicious LJCA device can therefore overflow the stack.
Reject a bank_num that does not fit valid_pin[]. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected acd6199f195d6de814ac4090ce0864a613b1580e 0069593170a3d177de793c9a0b36989c4f069111 git |
Not specified |
| CNA |
Linux |
Linux |
affected acd6199f195d6de814ac4090ce0864a613b1580e aed958c4f784a29cf42abb3e54af51a16bddde46 git |
Not specified |
| CNA |
Linux |
Linux |
affected acd6199f195d6de814ac4090ce0864a613b1580e 9c4bc8f7426aa001387800bf0140bfc5087a6de3 git |
Not specified |
| CNA |
Linux |
Linux |
affected acd6199f195d6de814ac4090ce0864a613b1580e dd9483726d0f16c1a56879c3edb65128259a4e2b git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.7 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.7 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.110 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.52 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.6 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/dd9483726d0f16c1a56879c3edb65128259a4e2b |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/9c4bc8f7426aa001387800bf0140bfc5087a6de3 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/aed958c4f784a29cf42abb3e54af51a16bddde46 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/0069593170a3d177de793c9a0b36989c4f069111 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.