Out-of-bounds Read The advisory has been revoked - it doesn't affect any version of package kernel  (opens in a new tab)


Threat Intelligence

EPSS
0.18% (8th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RHEL6-KERNEL-18455780
  • published30 Jul 2026
  • disclosed25 Jul 2026

Introduced: 25 Jul 2026

NewCVE-2026-64347  (opens in a new tab)
CWE-125  (opens in a new tab)

Amendment

The Red Hat security team deemed this advisory irrelevant for RHEL:6.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel package and not the kernel package as distributed by RHEL.

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

usb: gadget: composite: fix dead empty check in the USB_DT_OTG handler

The OTG branch of composite_setup() falls back to the first configuration when none is selected:

if (cdev->config)
    config = cdev->config;
else
    config = list_first_entry(&cdev->configs,
                  struct usb_configuration, list);
if (!config)
    goto done;
...
memcpy(req->buf, config->descriptors[0], value);

list_first_entry() never returns NULL. On an empty list it returns container_of() of the list head. So the "if (!config)" check is dead.

When cdev->configs is empty, config points at the head inside struct usb_composite_dev. config->descriptors[0] reads whatever sits at that offset. The memcpy copies up to w_length bytes of it into the response buffer.

cdev->configs can be empty in two cases. One is a teardown race on gadget unbind with a control transfer in flight. The other is a driver that sets is_otg before it adds a config. A reproducer that holds cdev->configs empty triggers a KASAN fault in this branch.

Use list_first_entry_or_null() so the existing check does its job.