CVE-2026-98764
Received Received - Intake

NULL Pointer Dereference in Linux Kernel USB Gadget FunctionFS

Vulnerability report for CVE-2026-98764, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-18

Last updated on: 2026-10-19

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix NULL pointer dereference in FUNCTIONFS_ENDPOINT_DESC When user space sets up FunctionFS with only full-speed descriptors (e.g., flags = FUNCTIONFS_HAS_FS_DESC) and the gadget operates at a higher speed (such as USB_SPEED_HIGH or USB_SPEED_SUPER), config_ep_by_speed() detects that the function lacks descriptors for the current speed, logs a warning, and falls back to full-speed descriptors. The endpoint is then successfully enabled via usb_ep_enable(), and epfile->ep becomes valid. However, when user space subsequently issues the FUNCTIONFS_ENDPOINT_DESC ioctl to query the endpoint descriptor, ffs_epfile_ioctl() selects the descriptor index solely based on gadget->speed: switch (epfile->ffs->gadget->speed) { case USB_SPEED_SUPER: case USB_SPEED_SUPER_PLUS: desc_idx = 2; break; case USB_SPEED_HIGH: desc_idx = 1; break; default: desc_idx = 0; } desc = epfile->ep->descs[desc_idx]; memcpy(&desc1, desc, desc->bLength); Because user space only supplied full-speed descriptors, epfile->ep->descs[1] is NULL. Dereferencing desc->bLength triggers an immediate kernel NULL pointer dereference panic. Fix this by falling back through lower speed descriptors if the current speed descriptor was not supplied, matching the fallback logic in config_ep_by_speed() and historical f_fs behavior. If still missing, fall back to epfile->ep->ep->desc (the active descriptor), and return -EINVAL safely if no valid descriptor is found. In addition, mark desc as const to match struct usb_ep::desc and avoid discarding qualifiers.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-18
Last Modified
2026-10-19
Generated
2026-10-19
AI Q&A
2026-10-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 5 associated CPEs
Vendor Product Version / Range
Linux Linux c559a353410939c0884e83bdb0e2420a986ac53b
Linux Linux c559a353410939c0884e83bdb0e2420a986ac53b
Linux Linux c559a353410939c0884e83bdb0e2420a986ac53b
Linux Linux c559a353410939c0884e83bdb0e2420a986ac53b
Linux Linux 3.18

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a NULL pointer dereference vulnerability in the Linux kernel's USB gadget function filesystem (f_fs). It occurs when user space configures FunctionFS with only full-speed descriptors but the gadget operates at a higher speed like USB_SPEED_HIGH or USB_SPEED_SUPER. When querying endpoint descriptors via FUNCTIONFS_ENDPOINT_DESC ioctl, the kernel tries to access a NULL descriptor array entry, causing a kernel panic.

Detection Guidance

This vulnerability is specific to the Linux kernel's USB gadget function filesystem (f_fs) and requires kernel-level inspection. Detection involves checking kernel logs for NULL pointer dereference errors related to FunctionFS or USB gadget operations. Monitor dmesg for kernel panics or oops messages involving usb or gadget subsystems.

Impact Analysis

This vulnerability can cause a system crash (kernel panic) when certain USB gadget operations are performed. If you use USB gadget functionality with FunctionFS in Linux, an attacker could trigger this by sending specific ioctl commands, leading to denial of service. Systems relying on USB device mode may become unresponsive.

Compliance Impact

This vulnerability is a kernel NULL pointer dereference in the Linux USB gadget subsystem. It does not directly affect compliance with GDPR, HIPAA, or similar standards as it is a local denial-of-service issue in a specific kernel driver. Compliance impacts would only occur if exploitation led to system instability or data exposure, which is not indicated by the provided details.

Mitigation Strategies

Apply the kernel patch that fixes the NULL pointer dereference in FUNCTIONFS_ENDPOINT_DESC. Update to a patched kernel version where this issue is resolved. If patching is not immediately possible, disable FunctionFS or restrict its use to prevent triggering the vulnerable ioctl path.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-98764. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart