| Título | LLVM LLVM Project commit 3b3a3c2 Heap-based Buffer Overflow |
|---|
| Descripción | 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. |
|---|
| Fuente | ⚠️ https://github.com/llvm/llvm-project/issues/199191 |
|---|
| Usuario | TYGLS (UID 94774) |
|---|
| Sumisión | 2026-06-01 04:56 (hace 1 mes) |
|---|
| Moderación | 2026-06-28 20:47 (28 days later) |
|---|
| Estado | Aceptado |
|---|
| Entrada de VulDB | 374582 [llvm llvm-project hasta 22.1.6 Bitcode File IntrinsicInst.cpp getBasePtr desbordamiento de búfer] |
|---|
| Puntos | 20 |
|---|