| 제목 | 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. AM 04:56 (1 월 ago) |
|---|
| 모더레이션 | 2026. 06. 28. PM 08:47 (28 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 374582 [llvm llvm-project 까지 22.1.6 Bitcode File IntrinsicInst.cpp getBasePtr 메모리 손상] |
|---|
| 포인트들 | 20 |
|---|