GPU DDK - libusc.so NPD due to integer overflow at ConvertSwitchToArrayLookup during WebGPU shader compilation
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
The GPU DDK shader compiler library (libusc.so), used when compiling WebGPU shaders, is affected. A malicious web page with crafted shader code can trigger an integer overflow that leads to a failed memory allocation and a NULL pointer dereference, crashing the compiler process and potentially enabling further exploitation on some platforms where it runs with system privileges.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
A web page that contains unusual GPU shader code is loaded into the GPU compiler process and can lead memory allocation failure. If the allocation failure is not properly handled, the compiler may dereference a NULL pointer at a controlled offset, resulting in a crash of the compiler process. On certain platforms, when the compiler process has system privileges this could lead to crashes or enable further exploits on the device. The weakness results from performing arithmetic operations on values derived from the shader program without properly preventing integer overflow. The overflow can cause incorrect memory size calculations, leading to memory allocation failures and subsequent invalid program behaviour. Integer overflow can produce unexpected values that affect memory allocation and other security-relevant operations.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- Imagination Technologies Graphics DDK
From 25.1 RTM2 · through 25.3 RTM