Skip to main content
VulnerabilityPublished Updated

CVE-2026-64540: Linux kernel · usbnet: gl620a: fix out-of-bounds read in genelink_rx_fixup()

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · CVSS 8.1 High · fixed in 4359376e6238d89977a35086e47ca3b07f43e850 : patch Linux kernel soon.

Data as of 26 Oct 2026, 14:05 UTC

CVSS 3.1 base score
8.1High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.2% chance of exploitation in 30 days – higher than 19% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-10-16.

Patch
Available – fixed in 4359376e6238d89977a35086e47ca3b07f43e850, 0575599e451aff3c5329922562374a2cab25fc51, 573418f7ea8f859a841417eb4b915594094fd967 +5
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 27 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 47ee3051c856cc2aa95d35d577a8cb37279d540f, < 4359376e6238d89977a35086e47ca3b07f43e850
Fixed in
  • 4359376e6238d89977a35086e47ca3b07f43e850
LinuxLinuxAffected
  • ≥ 47ee3051c856cc2aa95d35d577a8cb37279d540f, < 0575599e451aff3c5329922562374a2cab25fc51
Fixed in
  • 0575599e451aff3c5329922562374a2cab25fc51
LinuxLinuxAffected
  • ≥ 47ee3051c856cc2aa95d35d577a8cb37279d540f, < 573418f7ea8f859a841417eb4b915594094fd967
Fixed in
  • 573418f7ea8f859a841417eb4b915594094fd967
LinuxLinuxAffected
  • ≥ 47ee3051c856cc2aa95d35d577a8cb37279d540f, < 8624e179fa3ce23c2fbd1a198ce30764b73f054a
Fixed in
  • 8624e179fa3ce23c2fbd1a198ce30764b73f054a
LinuxLinuxAffected
  • ≥ 47ee3051c856cc2aa95d35d577a8cb37279d540f, < 255d03551f94c7bdd86c7d9181a70b21917d829f
Fixed in
  • 255d03551f94c7bdd86c7d9181a70b21917d829f
LinuxLinuxAffected
  • ≥ 47ee3051c856cc2aa95d35d577a8cb37279d540f, < 8ff7f2a6da4fccaa5cc9be7251a24e71e29fbd1a
Fixed in
  • 8ff7f2a6da4fccaa5cc9be7251a24e71e29fbd1a

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.

References

Community reviews

Loading reviews…