-

CVE-2026-63896

usb: gadget: composite: fix integer underflow in WebUSB GET_URL handling

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.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version 93c473948c588978cd55d9a3adad8b3e8057aa21
Version < 046870ff6b6f7b743c953c061043a9b30700d491
Status affected
Version 93c473948c588978cd55d9a3adad8b3e8057aa21
Version < f5869dfaa89854dcf34121036294d42d6c7acb8f
Status affected
Version 93c473948c588978cd55d9a3adad8b3e8057aa21
Version < f8f5a8f48c7cae3fac85e04b593bd47939f9725f
Status affected
Version 93c473948c588978cd55d9a3adad8b3e8057aa21
Version < a20f0ccf45708af6e063c7234c215d364b00de25
Status affected
Version 93c473948c588978cd55d9a3adad8b3e8057aa21
Version < 6c5dbc104dadd79fc2923497c20bae759a18758c
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 6.3
Status affected
Version 0
Version < 6.3
Status unaffected
Version <= 6.6.*
Version 6.6.143
Status unaffected
Version <= 6.12.*
Version 6.12.93
Status unaffected
Version <= 6.18.*
Version 6.18.35
Status unaffected
Version <= 7.0.*
Version 7.0.12
Status unaffected
Version <= *
Version 7.1
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.2% 0.1
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/046870ff6b6f7b743c953c061043a9b30700d491
https://git.kernel.org/stable/c/f5869dfaa89854dcf34121036294d42d6c7acb8f
https://git.kernel.org/stable/c/f8f5a8f48c7cae3fac85e04b593bd47939f9725f
https://git.kernel.org/stable/c/a20f0ccf45708af6e063c7234c215d364b00de25
https://git.kernel.org/stable/c/6c5dbc104dadd79fc2923497c20bae759a18758c