CVE-2026-63964
Received Received - Intake

USB Type-C Firmware Parsing Heap Overflow

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

Publication date: 2026-07-19

Last updated on: 2026-07-20

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: ccg: reject firmware images without a ':' record header do_flash() locates the first .cyacd record with p = strnchr(fw->data, fw->size, ':'); while (p < eof) { s = strnchr(p + 1, eof - p - 1, ':'); ... } If the firmware image contains no ':' byte, strnchr() returns NULL. NULL compares less than the valid kernel pointer eof, so the loop body runs and strnchr() is called with p + 1 == (void *)1 and a length of roughly (unsigned long)eof, causing a wonderful crash. The not_signed_fw fallthrough earlier in do_flash() and the chip-state branches in ccg_fw_update_needed() allow an unsigned blob to reach this loop, so a root user who can place a crafted file under /lib/firmware and write the do_flash sysfs attribute can trigger the oops. Bail out with -EINVAL when the initial strnchr() returns NULL.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

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 Linux kernel vulnerability in the USB Type-C Subsystem (UCSI) for Cypress CCG firmware. It involves a flaw in the do_flash() function where a missing colon character in a firmware image causes a crash. The function incorrectly handles NULL returns from strnchr(), leading to a kernel pointer dereference and system crash.

Detection Guidance

This vulnerability is specific to Linux kernel USB Type-C firmware handling. Detection requires checking kernel logs for crashes related to USB Type-C firmware updates or examining firmware files in /lib/firmware for missing ':' record headers.

Impact Analysis

A root user with write access to /lib/firmware could place a malicious firmware file. Triggering the do_flash sysfs attribute would cause a kernel crash (oops), potentially leading to denial of service. Exploitation requires root privileges and access to specific system paths.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards as it is a local privilege escalation issue in the Linux kernel's USB Type-C firmware handling. Compliance impacts would only occur if the vulnerability were exploited to gain unauthorized access to sensitive data or systems, which is not described in the provided context.

Mitigation Strategies

Apply the Linux kernel patch that adds validation for firmware images. Avoid using unsigned or untrusted firmware files in /lib/firmware. Restrict write access to the do_flash sysfs attribute to prevent unauthorized firmware updates.

Chat Assistant

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

EPSS Chart