CVE-2026-63964

Source
https://cve.org/CVERecord?id=CVE-2026-63964
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-63964.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-63964
Downstream
Published
2026-07-19T14:55:53.115Z
Modified
2026-07-22T03:31:41.831274382Z
Summary
usb: typec: ucsi: ccg: reject firmware images without a ':' record header
Details

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 notsignedfw fallthrough earlier in doflash() and the chip-state branches in ccgfwupdateneeded() 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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63964.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5c9ae5a87573d38cfc4c740aafda2fa6ce06e401
Fixed
b41dfc033fe594e152648050e95b9489cd53e9e3
Fixed
2f395ca1263bd181995eb829f5943a83a20db213
Fixed
6526f8684f72391138353642af908803ba70795e
Fixed
3f432b8203066c26770fe6ea591361f10021dd6b
Fixed
c4ee519b06389e59ba2d6aa722fcc4a02a8bbcbb
Fixed
a38ed87818b2419090fb1a6338ddce6842b65dfa
Fixed
c8460de584fe5415d212cfdd127d4db90835a450
Fixed
d7486952bf74e546ee3748fb14b2d07881fa6273

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-63964.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.2.0
Fixed
5.10.259
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.210
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.176
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.143
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.93
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.35
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.0.12

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-63964.json"