CVE-2026-46006
Published May 27, 2026
Modified May 27, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: fix u32 overflow in pushbuf reloc bounds check nouveau_gem_pushbuf_reloc_apply() validates each relocation with if (r->reloc_bo_offset + 4 > nvbo->bo.base.size) but reloc_bo_offset is __u32 (uapi/drm/nouveau_drm.h) and the integer literal 4 promotes to unsigned int, so the addition is performed in 32 bits and wraps before the comparison against the size_t bo size. Cast to u64 so the addition happens in 64-bit arithmetic. [ Add Fixes: tag. - Danilo ]
References
Other References
https://git.kernel.org/stable/c/2fc87d37be1b730a149b035f9375fdb8cc5333a5
https://git.kernel.org/stable/c/332884f5eb79dd60a7162b079d09d39208567a31
https://git.kernel.org/stable/c/d749a9a0ee4014681487e7ae549901aa8c176637
https://git.kernel.org/stable/c/e441d5c23ec644c8d27593db3b8928e8933512a9
https://git.kernel.org/stable/c/fa297e919d1680c38ab268ff952b1698dac987f6
Frequently Asked Questions
What is CVE-2026-46006? +
In the Linux kernel, the following vulnerability has been resolved:
drm/nouveau: fix u32 overflow in pushbuf reloc bounds check
nouveau_gem_pushbuf_reloc_apply() validates each relocation with
if (r->reloc_bo_offset + 4 > nvbo->bo.base.size)
but reloc_bo_offset is __u32 (uapi/drm/nouveau_drm.h) and the integer
literal 4 promotes to unsigned int, so the addition is performed in 32
bits and wraps before the comparison against the size_t bo size.
Cast to u64 so the addition happens in 64-bit arithmetic.
[ Add Fixes: tag. - Danilo ]
How do I check if I'm vulnerable to CVE-2026-46006? +
You can use Secably's free Website Scanner to check your website for known vulnerabilities. For infrastructure scanning, use the Port Scanner to identify exposed services that may be affected. Check the vendor advisories linked above for specific patch and version information.