Out-of-bounds Write Affecting bpftool6.12-debuginfo package, versions <1:6.12.94-123.174.amzn2023


Severity

Recommended
0.0
high
0
10

Based on Amazon Linux security rating.

Threat Intelligence

EPSS
0.2% (11th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-AMZN2023-BPFTOOL612DEBUGINFO-18529013
  • published5 Aug 2026
  • disclosed19 Jul 2026

Introduced: 19 Jul 2026

NewCVE-2026-63896  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade Amazon-Linux:2023 bpftool6.12-debuginfo to version 1:6.12.94-123.174.amzn2023 or higher.
This issue was patched in ALAS2023-2026-1968.

NVD Description

Note: Versions mentioned in the description apply only to the upstream bpftool6.12-debuginfo package and not the bpftool6.12-debuginfo package as distributed by Amazon-Linux. See How to fix? for Amazon-Linux:2023 relevant fixed versions and status.

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-&gt;URL,
       cdev-&gt;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.

CVSS Base Scores

version 3.1