Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-63896— usb: gadget: composite: fix integer underflow in WebUSB GET_URL handling

AI Predicted 7.5 Difficulty: Easy EPSS 0.20% · P10

Possible ATT&CK Techniques 1AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 12

VendorProductVersion RangeStatus
LinuxLinux93c473948c588978cd55d9a3adad8b3e8057aa21< 046870ff6b6f7b743c953c061043a9b30700d491affected
93c473948c588978cd55d9a3adad8b3e8057aa21< f5869dfaa89854dcf34121036294d42d6c7acb8faffected
93c473948c588978cd55d9a3adad8b3e8057aa21< f8f5a8f48c7cae3fac85e04b593bd47939f9725faffected
93c473948c588978cd55d9a3adad8b3e8057aa21< a20f0ccf45708af6e063c7234c215d364b00de25affected
93c473948c588978cd55d9a3adad8b3e8057aa21< 6c5dbc104dadd79fc2923497c20bae759a18758caffected
6.3affected
< 6.3unaffected
6.6.143≤ 6.6.*unaffected
… +4 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-63896

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
usb: gadget: composite: fix integer underflow in WebUSB GET_URL handling
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: composite: fix integer underflow in WebUSB GET_URL handling The WebUSB GET_URL handler in composite_setup() narrows landing_page_length to fit the host-supplied wLength using landing_page_length = w_length - WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH + landing_page_offset; If wLength is smaller than WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH the unsigned subtraction wraps, and the subsequent memcpy(url_descriptor->URL, cdev->landing_page + landing_page_offset, landing_page_length - landing_page_offset); ends up copying close to UINT_MAX bytes from cdev->landing_page into cdev->req->buf. KASAN reports a slab-out-of-bounds in composite_setup on the kmalloc-2k gadget_info allocation, and FORTIFY_SOURCE traps the memcpy as a 4294967293-byte field-spanning write into url_descriptor->URL (size 252). A USB host can reach this from a single SETUP packet against any gadget that has webusb/use=1 and a landingPage configured. Handle the small-wLength case before the math: when the host requested fewer bytes than the URL descriptor header, only the header is meaningful and no URL bytes need to be copied. Setting landing_page_length to landing_page_offset makes the existing memcpy a no-op and leaves the descriptor returned to the host unchanged for all larger wLength values.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会开源的一款操作系统内核。 Linux kernel 6.3版本存在越界写漏洞,该漏洞源于WebUSB GET_URL处理过程中存在整数下溢,当wLength小于WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH时,无符号减法导致包装,随后memcpy复制接近UINT_MAX字节,可能导致内存越界写入。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 93c473948c588978cd55d9a3adad8b3e8057aa21 ~ 046870ff6b6f7b743c953c061043a9b30700d491 -
LinuxLinux 6.3 -

II. Public POCs for CVE-2026-63896

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-63896

登录查看更多情报信息。

Patches & Fixes for CVE-2026-63896 (5)

Same Patch Batch · Linux · 2026-07-19 · 431 CVEs total

CVE-2026-6379510.0 CRITICAL9p: avoid putting oldfid in p9_client_walk() error path
CVE-2026-638009.8 CRITICALpNFS: Fix use-after-free in pnfs_update_layout()
CVE-2026-640559.8 CRITICALnet: ethernet: cortina: Carry over frag counter
CVE-2026-640569.8 CRITICALnet: ethernet: cortina: Make RX SKB per-port
CVE-2026-640619.8 CRITICALnetfs: Fix early put of sink folio in netfs_read_gaps()
CVE-2026-640669.8 CRITICALnetfs: Fix netfs_read_to_pagecache() to pause on subreq failure
CVE-2026-640679.8 CRITICALnetfs: Fix missing barriers when accessing stream->subrequests locklessly
CVE-2026-640689.8 CRITICALnetfs: Fix missing locking around retry adding new subreqs
CVE-2026-640699.8 CRITICALnetfs: Fix cancellation of a DIO and single read subrequests
CVE-2026-638089.8 CRITICALexfat: fix potential use-after-free in exfat_find_dir_entry()
CVE-2026-640899.8 CRITICALbatman-adv: tt: fix negative last_changeset_len
CVE-2026-640919.8 CRITICALbatman-adv: tt: fix TOCTOU race for reported vlans
CVE-2026-533999.8 CRITICALnfsd: release layout stid on setlease failure
CVE-2026-641429.8 CRITICALksmbd: close durable scavenger races against m_fp_list lookups
CVE-2026-533989.8 CRITICALNFSD: Fix SECINFO_NO_NAME decode error cleanup
CVE-2026-641369.8 CRITICALsmb: client: protect tc_count increment in smb2_find_smb_sess_tcon_unlocked()
CVE-2026-641329.8 CRITICALipv6: ioam: refresh hdr pointer before ioam6_event()
CVE-2026-641229.8 CRITICALnet/mlx5e: Fix use-after-free in mlx5e_tx_reporter_timeout_recover
CVE-2026-641029.8 CRITICALRDMA/siw: Reject MPA FPDU length underflow before signed receive math
CVE-2026-641139.8 CRITICALixgbevf: fix use-after-free in VEPA multicast source pruning

Showing top 20 of 431 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-63896

No comments yet


Leave a comment