CVE-2026-61618 in snark-verifier
Tóm tắt
Bởi VulDB • 30/10/2026
SNARK Verifier là một bộ xác minh (S)NARK tổng quát. Trước phiên bản 0.2.5, các phần (limbs) của thể hiện công khai trong bộ tích lũy KZG được giải mã mà không đảm bảo nhất quán việc áp đặt các giới hạn chính thống cho limbs trước khi tái tạo tọa độ đường cong elliptic. `PlonkProof::read` chọn các vô hướng bằng cách sử dụng `accumulator_indices` và chuyển chúng đến `AccumulatorEncoding::from_repr`. Đối với bộ tải EVM, `LimbsEncoding::from_repr` chuyển tiếp chúng tới `EvmLoader::ec_point_from_limbs` trong `snark-verifier/src/loader/evm/loader.rs`, nơi các phép toán `shl` và `add` tái tạo tọa độ trước khi `validate_ec_point` kiểm tra điểm affine kết quả thay vì kiểm tra giới hạn limbs ban đầu. Đường dẫn native liên quan trong `snark-verifier/src/pcs/kzg/accumulator.rs` có thể đạt đến việc giải mã dựa trên assertion hoặc unwrap, gây ra lỗi panic (sự cố) thay vì trả về lỗi xác minh. Điều này cho phép các bản mã không chính thống xuất hiện tại biên giới của bộ xác minh và có thể khiến bộ xác minh native bị sập. Các mạch tổng hợp SDK tiêu chuẩn dự kiến sẽ ràng buộc các limbs của bộ tích lũy trước khi đạt đến điểm ranh giới này, điều này hạn chế khả năng khai thác thực tế. Vấn đề này đã được sửa chữa trong phiên bản 0.2.5.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.