| 标题 | LLVM LLVM Project commit 3b3a3c2 Heap-based Buffer Overflow |
|---|
| 描述 | A 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. |
|---|
| 来源 | ⚠️ https://github.com/llvm/llvm-project/issues/199191 |
|---|
| 用户 | TYGLS (UID 94774) |
|---|
| 提交 | 2026-06-01 04時56分 (4 月前) |
|---|
| 管理 | 2026-06-28 20時47分 (28 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 374582 [llvm llvm-project 直到 22.1.6 Bitcode File IntrinsicInst.cpp getBasePtr 内存损坏] |
|---|
| 积分 | 20 |
|---|