Submit #844468: LLVM LLVM Project commit 3b3a3c2 Heap-based Buffer Overflowinfo

TitleLLVM LLVM Project commit 3b3a3c2 Heap-based Buffer Overflow
DescriptionA heap-based buffer over-read vulnerability exists in LLVM IR intrinsic handling within the GCRelocateInst::getBasePtr function at IntrinsicInst.cpp:873. The flaw is caused by missing bounds checking when calculating operand indices for gc.relocate and gc.statepoint intrinsics. When parsing a maliciously crafted bitcode file with an invalid large out-of-bounds index value for the gc.relocate intrinsic, the function performs unsafe raw iterator offset arithmetic and dereferences an invalid llvm::Use object. This results in an out-of-bounds read operation on the allocated heap buffer, triggering memory corruption and program crash during module verification. Local attackers can exploit this vulnerability via a malicious bitcode PoC to crash the affected llvm-opt-fuzzer process, causing a denial-of-service (DoS) condition, with potential arbitrary code execution risks under specific memory layouts.
Source⚠️ https://github.com/llvm/llvm-project/issues/199191
User
 TYGLS (UID 94774)
Submission06/01/2026 04:56 (28 days ago)
Moderation06/28/2026 20:47 (28 days later)
StatusAccepted
VulDB entry374582 [llvm llvm-project up to 22.1.6 Bitcode File IntrinsicInst.cpp getBasePtr heap-based overflow]
Points20

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!