Description
In the Linux kernel, the following vulnerability has been resolved:

usb: dwc3: fix dwc3_readl() and dwc3_writel() calls in dwc3_ulpi_setup()

The dwc3_ulpi_setup() calls the register read and write calls with
dwc3->regs when both these calls take the dwc3 structure directly.

Chnage these two calls to fix the following sparse warning, and
possibly a nasty bug in the dwc3_ulpi_setup() code:

drivers/usb/dwc3/core.c:796:45: warning: incorrect type in argument 1 (different address spaces)
drivers/usb/dwc3/core.c:796:45: expected struct dwc3 *dwc
drivers/usb/dwc3/core.c:796:45: got void [noderef] __iomem *regs
drivers/usb/dwc3/core.c:798:40: warning: incorrect type in argument 1 (different address spaces)
drivers/usb/dwc3/core.c:798:40: expected struct dwc3 *dwc
drivers/usb/dwc3/core.c:798:40: got void [noderef] __iomem *regs
Published: 2026-07-25
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The bug involves incorrect usage of the dwc3_readl() and dwc3_writel() functions within the dwc3_ulpi_setup() routine of the Linux kernel's DWC3 USB controller driver. The code passed the register pointer (dwc->regs) instead of the expected dwc3 structure to these functions, raising compiler warnings and potentially causing the driver to access memory outside its intended address space. This misuse can corrupt kernel memory or trigger a kernel oops, resulting in a crash or unstable system behavior. The weakness is a type‑safety error (CWE‑843).

Affected Systems

All Linux kernel builds that ship the DWC3 USB controller driver are affected. No specific kernel version is listed in the advisory, meaning any kernel revision prior to the fix that contains the fault should be considered vulnerable. The vulnerability does not apply to non‑kernel components; only systems that load the DWC3 driver for USB operation are impacted.

Risk and Exploitability

The EPSS score is reported as less than 1 % and the listing is not in the CISA KEV catalog, indicating a low public exploitation likelihood. No CVSS score is provided, so the severity cannot be quantified precisely. Based on the description, it is inferred that a local attacker with control over USB device inputs could trigger the faulty routine and force a kernel crash, but remote exploitation is not implied. The risk remains limited to a denial‑of‑service scenario unless the attacker can execute the code in the kernel context.

Generated by OpenCVE AI on August 5, 2026 at 02:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update to the latest Linux kernel that contains the dwc3_readl/dwc3_writel patch
  • If a kernel upgrade is not immediately possible, disable the DWC3 USB controller via a kernel module parameter or BIOS/UEFI setting to prevent the vulnerable code from executing
  • Maintain up‑to‑date firmware for connected USB devices to reduce the likelihood that malformed device traffic reaches the DWC3 driver

Generated by OpenCVE AI on August 5, 2026 at 02:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 01:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1138

Tue, 28 Jul 2026 00:15:00 +0000


Mon, 27 Jul 2026 06:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1138

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: fix dwc3_readl() and dwc3_writel() calls in dwc3_ulpi_setup() The dwc3_ulpi_setup() calls the register read and write calls with dwc3->regs when both these calls take the dwc3 structure directly. Chnage these two calls to fix the following sparse warning, and possibly a nasty bug in the dwc3_ulpi_setup() code: drivers/usb/dwc3/core.c:796:45: warning: incorrect type in argument 1 (different address spaces) drivers/usb/dwc3/core.c:796:45: expected struct dwc3 *dwc drivers/usb/dwc3/core.c:796:45: got void [noderef] __iomem *regs drivers/usb/dwc3/core.c:798:40: warning: incorrect type in argument 1 (different address spaces) drivers/usb/dwc3/core.c:798:40: expected struct dwc3 *dwc drivers/usb/dwc3/core.c:798:40: got void [noderef] __iomem *regs
Title usb: dwc3: fix dwc3_readl() and dwc3_writel() calls in dwc3_ulpi_setup()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-25T08:50:09.647Z

Reserved: 2026-07-19T15:36:31.782Z

Link: CVE-2026-64349

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:17.170

Modified: 2026-08-11T15:00:57.447

Link: CVE-2026-64349

cve-icon Redhat

Severity :

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64349 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T02:45:17Z

Weaknesses
  • CWE-843

    Access of Resource Using Incompatible Type ('Type Confusion')