Katalog CVE

CVE-2026-41197

Krytyczne
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Podatność w kompilatorze Noir do Brillig bytecode dotyczy nieprawidłowej alokacji pamięci dla wyników tablicowych z wywołań zewnętrznych. Może to prowadzić do błędów pamięci lub nieprzewidzianego zachowania.

Ocena ryzyka

Ryzyko obejmuje potencjalne naruszenie integralności danych lub awarie systemu w aplikacjach korzystających z Noir.

Rekomendacja

Zaleca się aktualizację do najnowszej wersji Noir oraz monitorowanie porad bezpieczeństwa producenta.

Oryginalny opis (angielski, źródło NVD)

Noir is a Domain Specific Language for SNARK proving systems that is designed to use any ACIR compatible proving system, and Brillig is the bytecode ACIR uses for non-determinism. Noir programs can invoke external functions through foreign calls. When compiling to Brillig bytecode, the SSA instructions are processed block-by-block in `BrilligBlock::compile_block()`. When the compiler encounters an `Instruction::Call` with a `Value::ForeignFunction` target, it invokes `codegen_call()` in `brillig_call/code_gen_call.rs`, which dispatches to `convert_ssa_foreign_call()`. Before emitting the foreign call opcode, the compiler must pre-allocate memory for any array results the call will return. This happens through `allocate_external_call_results()`, which iterates over the result types. For `Type::Array` results, it delegates to `allocate_foreign_call_result_array()` to recursively allocate memory on the heap for nested arrays. The `BrilligArray` struct is the internal representation of a N

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS