Description
In the Linux kernel, the following vulnerability has been resolved:

usb: atm: ueagle-atm: reject descriptors that confuse probe and disconnect

uea_probe() distinguishes a pre-firmware device from a post-firmware one
using the USB id (UEA_IS_PREFIRM()), and stores a different object as the
interface data in each case: a 'struct completion' for a pre-firmware
device (to be waited on in .disconnect()), or a 'struct usbatm_data' for a
post-firmware one.

uea_disconnect() instead tells the two apart by the number of interfaces
of the active configuration (a pre-firmware device exposes a single
interface, ADI930 has 2 and eagle has 3), and casts the interface data
accordingly.

Because the two handlers use different criteria, a crafted device that
advertises a pre-firmware id together with a multi-interface descriptor
(or a post-firmware id with a single interface) makes them disagree: the
small 'struct completion' stored by uea_probe() is then passed to
usbatm_usb_disconnect(), which casts it to 'struct usbatm_data' and takes
instance->serialize, reading past the end of the allocation:

BUG: KASAN: slab-out-of-bounds in __mutex_lock+0x152a/0x1b80
Read of size 8 at addr ffff8880470e2c60 by task kworker/1:2/982
...
__mutex_lock+0x152a/0x1b80
usbatm_usb_disconnect+0x70/0x820
uea_disconnect+0x133/0x2c0
usb_unbind_interface+0x1dd/0x9e0
...
which belongs to the cache kmalloc-96 of size 96
The buggy address is located 0 bytes to the right of
allocated 96-byte region [ffff8880470e2c00, ffff8880470e2c60)

Reject such inconsistent descriptors in uea_probe() so that both handlers
always make the same pre/post-firmware decision.
Published: 2026-08-10
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The ueagle‑atm USB ATM driver contains a type‑confusion flaw (CWE‑843). When a device advertises a pre‑firmware identifier with an interface count that does not match the firmware type, the probe and disconnect routines disagree on the data structure stored for the device. The disconnect handler then casts a small struct into a larger one and reads past the end of the allocation, triggering an out‑of‑bounds read that can corrupt kernel memory or cause a kernel panic. This memory corruption can lead to a denial of service at the kernel level.

Affected Systems

All Linux kernel builds that include the ueagle‑atm driver prior to the commit that rejects incompatible descriptors are susceptible. The vendor information is generic Linux; any kernel containing the affected probe or disconnect code path is at risk until the patch is applied.

Risk and Exploitability

The CVSS score of 5.5 indicates medium severity, while the EPSS score of <1% suggests a low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog, indicating no known widespread exploitation. An attacker can likely exploit this by presenting a malicious USB ATM device that combines a pre‑firmware identifier with a multi‑interface descriptor or vice versa, causing the driver to misinterpret the device type. The resulting out‑of‑bounds read can corrupt kernel memory, potentially leading to a crash or denial of service. Because the driver runs with kernel privileges, an attacker gaining access to this code path may also increase the chances of additional attacks if other kernel weaknesses exist.

Generated by OpenCVE AI on August 13, 2026 at 07:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the commit rejecting incompatible descriptors
  • If an upgrade is not immediately possible, unload the ueagle‑atm module or blacklist it to prevent the driver from handling USB ATM devices
  • If the driver must remain enabled, restrict access to USB ATM devices by configuring USBGuard or similar device policy tools to block or quarantine them

Generated by OpenCVE AI on August 13, 2026 at 07:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Thu, 13 Aug 2026 05:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-788

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-843
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Mon, 10 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-788

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usb: atm: ueagle-atm: reject descriptors that confuse probe and disconnect uea_probe() distinguishes a pre-firmware device from a post-firmware one using the USB id (UEA_IS_PREFIRM()), and stores a different object as the interface data in each case: a 'struct completion' for a pre-firmware device (to be waited on in .disconnect()), or a 'struct usbatm_data' for a post-firmware one. uea_disconnect() instead tells the two apart by the number of interfaces of the active configuration (a pre-firmware device exposes a single interface, ADI930 has 2 and eagle has 3), and casts the interface data accordingly. Because the two handlers use different criteria, a crafted device that advertises a pre-firmware id together with a multi-interface descriptor (or a post-firmware id with a single interface) makes them disagree: the small 'struct completion' stored by uea_probe() is then passed to usbatm_usb_disconnect(), which casts it to 'struct usbatm_data' and takes instance->serialize, reading past the end of the allocation: BUG: KASAN: slab-out-of-bounds in __mutex_lock+0x152a/0x1b80 Read of size 8 at addr ffff8880470e2c60 by task kworker/1:2/982 ... __mutex_lock+0x152a/0x1b80 usbatm_usb_disconnect+0x70/0x820 uea_disconnect+0x133/0x2c0 usb_unbind_interface+0x1dd/0x9e0 ... which belongs to the cache kmalloc-96 of size 96 The buggy address is located 0 bytes to the right of allocated 96-byte region [ffff8880470e2c00, ffff8880470e2c60) Reject such inconsistent descriptors in uea_probe() so that both handlers always make the same pre/post-firmware decision.
Title usb: atm: ueagle-atm: reject descriptors that confuse probe and disconnect
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-19T16:33:45.376Z

Reserved: 2026-07-30T09:28:09.384Z

Link: CVE-2026-68344

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:24.947

Modified: 2026-08-19T17:20:44.223

Link: CVE-2026-68344

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-10T00:00:00Z

Links: CVE-2026-68344 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T07:15:12Z

Weaknesses
  • CWE-843

    Access of Resource Using Incompatible Type ('Type Confusion')