Jul 2026
Supranational blst
Privately reported two issues in the blst 0.3.16 Rust bindings, both reachable from safe Rust and reproduced under AddressSanitizer: Pairing stored a raw pointer to a borrowed DST slice and could read freed memory after the slice was dropped, and Pairing::mul_n_aggregate (and the high-level verify_multiple_aggregate_signatures) accepted an nbits value unchecked against the scalar slice length, allowing out-of-bounds reads. The maintainer fixed both — a DST lifetime bound on Pairing and a scalar-length check that panics on mismatch. Reporter and maintainer agreed these are hardening fixes rather than a security issue: the affected parameters are fixed at application design time and not attacker-controlled, and downstream use in Lighthouse v8.2.0 was checked and not affected.