| Titel | LLVM LLVM Project commit 3b3a3c2 Heap-based Buffer Overflow |
|---|
| Beschreibung | 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. |
|---|
| Quelle | ⚠️ https://github.com/llvm/llvm-project/issues/199191 |
|---|
| Benutzer | TYGLS (UID 94774) |
|---|
| Einreichung | 01.06.2026 04:56 (vor 29 Tagen) |
|---|
| Moderieren | 28.06.2026 20:47 (28 days later) |
|---|
| Status | Akzeptiert |
|---|
| VulDB Eintrag | 374582 [llvm llvm-project bis 22.1.6 Bitcode File IntrinsicInst.cpp getBasePtr Pufferüberlauf] |
|---|
| Punkte | 20 |
|---|