You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The scheduled fuzz job on main@36eb6d67 hit a genuine crash after ~3,751,844 executions of fuzz_cesr_import:
thread '<unnamed>' panicked at cesride-0.6.4/src/core/indexer/mod.rs:396:25
== ERROR: libFuzzer: deadly signal
artifact: crates/auths-keri/fuzz/artifacts/fuzz_cesr_import/crash-9e0a22d2513d2e3e80fb2809cd5d1e0b7c4555d9
The panic is inside the cesride dependency (Indexer construction), not in auths code — but it is reachable from fuzz_cesr_import's entry (attachment/indexed-signature import), i.e. attacker-supplied CESR bytes can panic the process instead of returning a typed decode error. The import path should catch/ward this input class before handing it to cesride (parse, don't panic), or cesride needs the upstream fix.
Unrelated to the witness write-path changes (PR Witness receipting write path: per-prefix KELs, client publication, KEL-anchored witness sets #403's two fuzz jobs passed on the identical Rust tree; this run's random corpus walk found the input). Reproduction: the crash artifact was written to the runner's ephemeral disk and the workflow uploads no artifacts, so re-run cargo +nightly fuzz run fuzz_cesr_import (see docs on the verifier strengthened battery for local setup) — at ~3.7M execs/coverage 1579 the input class should resurface quickly; then cargo fuzz tmin it.
Follow-up worth taking while there: make the fuzz workflow upload fuzz/artifacts/** on failure so findings survive the runner.
The scheduled fuzz job on main@36eb6d67 hit a genuine crash after ~3,751,844 executions of
fuzz_cesr_import:Indexerconstruction), not in auths code — but it is reachable fromfuzz_cesr_import's entry (attachment/indexed-signature import), i.e. attacker-supplied CESR bytes can panic the process instead of returning a typed decode error. The import path should catch/ward this input class before handing it to cesride (parse, don't panic), or cesride needs the upstream fix.cargo +nightly fuzz run fuzz_cesr_import(see docs on the verifier strengthened battery for local setup) — at ~3.7M execs/coverage 1579 the input class should resurface quickly; thencargo fuzz tminit.fuzz/artifacts/**on failure so findings survive the runner.