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

usbnet: gl620a: fix out-of-bounds read in genelink_rx_fixup()

genelink_rx_fixup() splits an aggregated RX frame into its individual
packets, using a per-packet length taken from device-supplied data. That
length is only bounded by GL_MAX_PACKET_LEN (1514); it is never compared
against how many bytes were actually received.

A malicious GeneLink (GL620A) device can therefore send a short URB whose
header claims packet_count > 1 and a first packet of up to 1514 bytes.

skb_put_data(gl_skb, packet->packet_data, size);

then copies past the end of the receive buffer and hands the adjacent slab
contents up the network stack, an out-of-bounds read that leaks kernel heap.
No privilege is required: the path runs in the usbnet RX softirq as soon as
the interface is up.

BUG: KASAN: slab-out-of-bounds in genelink_rx_fixup (drivers/net/usb/gl620a.c:112)
Read of size 1514 at addr ffff888011309708 by task ksoftirqd/0/14
Call Trace:
...
__asan_memcpy (mm/kasan/shadow.c:105)
genelink_rx_fixup (include/linux/skbuff.h:2814 drivers/net/usb/gl620a.c:112)
usbnet_bh (drivers/net/usb/usbnet.c:572 drivers/net/usb/usbnet.c:1589)
process_one_work (kernel/workqueue.c:3322)
bh_worker (kernel/workqueue.c:3405)
tasklet_action (kernel/softirq.c:965)
handle_softirqs (kernel/softirq.c:622)
run_ksoftirqd (kernel/softirq.c:1076)
...

skb_pull() already verifies that the requested length fits the buffer and
returns NULL otherwise. Move it ahead of the copy and check its result, so
a packet that overruns the received data is rejected before it is read.
Well-formed frames, whose packets are fully present, are unaffected.
Published: 2026-07-27
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The gl620a USB network driver contains an out‑of‑bounds read in the function that splits aggregated receive frames. The driver uses per‑packet lengths supplied by the GL620A device and only ensures that each length is less than the maximum packet size of 1514 bytes. It never verifies that the claimed length fits into the actually received buffer. A malicious device can therefore send a short URB whose headers advertise more packets than were transmitted and a packet size larger than the data received. When the driver copies this data it reads beyond the end of the receive buffer, leaking kernel heap contents. The primary impact is the disclosure of kernel memory, which could be used to infer sensitive information or to aid in further attacks. This weakness corresponds to the classic out‑of‑bounds read identified as CWE‑125.

Affected Systems

The vulnerability exists in the Linux kernel usbnet driver for GL620A devices. All kernel releases that include the unpatched gl620a implementation, regardless of distribution, are affected. No specific vendor version numbers were supplied, so any build that has not applied the commit that fixes the bounds check remains vulnerable.

Risk and Exploitability

The defect is exercised in the USB network interface handler, which runs in the softirq context as soon as the interface is up. No user privileges are required; the attacker only needs to supply a malicious USB device that advertises an oversized packet. At present the EPSS score is below 1%, and the issue is not listed in CISA’s KEV catalog, indicating no known active exploit. Nonetheless, the possibility of reading arbitrary kernel memory represents a moderate risk while the device is connected, motivating timely mitigation.

Generated by OpenCVE AI on August 2, 2026 at 10:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the gl620a bounds‑check patch.
  • If an immediate kernel update is not possible, disconnect or block the GL620A device by disabling the usbnet interface or physically removing the USB device from the host.
  • As a temporary measure, block the usbnet driver module either by unloading it with modprobe -r usbnet or adding a blacklist entry to prevent it from loading until the patch is applied.

Generated by OpenCVE AI on August 2, 2026 at 10:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
Debian DSA Debian DSA DSA-6405-1 linux security update
History

Sun, 02 Aug 2026 11:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Sat, 01 Aug 2026 01:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Thu, 30 Jul 2026 06:15:00 +0000

Type Values Removed Values Added
Metrics 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'}

cvssV3_1

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


Wed, 29 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
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


Tue, 28 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Mon, 27 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usbnet: gl620a: fix out-of-bounds read in genelink_rx_fixup() genelink_rx_fixup() splits an aggregated RX frame into its individual packets, using a per-packet length taken from device-supplied data. That length is only bounded by GL_MAX_PACKET_LEN (1514); it is never compared against how many bytes were actually received. A malicious GeneLink (GL620A) device can therefore send a short URB whose header claims packet_count > 1 and a first packet of up to 1514 bytes. skb_put_data(gl_skb, packet->packet_data, size); then copies past the end of the receive buffer and hands the adjacent slab contents up the network stack, an out-of-bounds read that leaks kernel heap. No privilege is required: the path runs in the usbnet RX softirq as soon as the interface is up. BUG: KASAN: slab-out-of-bounds in genelink_rx_fixup (drivers/net/usb/gl620a.c:112) Read of size 1514 at addr ffff888011309708 by task ksoftirqd/0/14 Call Trace: ... __asan_memcpy (mm/kasan/shadow.c:105) genelink_rx_fixup (include/linux/skbuff.h:2814 drivers/net/usb/gl620a.c:112) usbnet_bh (drivers/net/usb/usbnet.c:572 drivers/net/usb/usbnet.c:1589) process_one_work (kernel/workqueue.c:3322) bh_worker (kernel/workqueue.c:3405) tasklet_action (kernel/softirq.c:965) handle_softirqs (kernel/softirq.c:622) run_ksoftirqd (kernel/softirq.c:1076) ... skb_pull() already verifies that the requested length fits the buffer and returns NULL otherwise. Move it ahead of the copy and check its result, so a packet that overruns the received data is rejected before it is read. Well-formed frames, whose packets are fully present, are unaffected.
Title usbnet: gl620a: fix out-of-bounds read in genelink_rx_fixup()
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-05T12:42:48.500Z

Reserved: 2026-07-19T15:36:31.795Z

Link: CVE-2026-64540

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-07-27T21:17:06.407

Modified: 2026-07-30T06:25:57.817

Link: CVE-2026-64540

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-27T00:00:00Z

Links: CVE-2026-64540 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T10:45:03Z

Weaknesses