| Título | LLVM LLVM Project commit 3b3a3c2 Heap-based Buffer Overflow |
|---|
| Descrição | 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. |
|---|
| Fonte | ⚠️ https://github.com/llvm/llvm-project/issues/199191 |
|---|
| Utilizador | TYGLS (UID 94774) |
|---|
| Submissão | 01/06/2026 04h56 (há 28 dias) |
|---|
| Moderação | 28/06/2026 20h47 (28 days later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 374582 [llvm llvm-project até 22.1.6 Bitcode File IntrinsicInst.cpp getBasePtr Excesso de tampão] |
|---|
| Pontos | 20 |
|---|