Since #3128 the advisory ID RUSTSEC-2026-0244 exists in two files:
crates/gettext-rs/RUSTSEC-2026-0244.md
crates/gettext-sys/RUSTSEC-2026-0244.md
That PR moved the advisory to gettext-sys but the copy under gettext-rs
was not removed, so both are present on main (currently 565436d8).
cargo-audit refuses to load the database when it sees a duplicate ID, which
means every cargo audit run fails, not only ones involving gettext:
Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
error: error loading advisory database: parse error: duplicate advisory ID: RUSTSEC-2026-0244
Reproducing
on any project. Or directly:
ls ~/.cargo/advisory-db/crates/gettext-{rs,sys}/RUSTSEC-2026-0244.md
Impact
This is a hard failure rather than a warning, so it blocks any CI step or
pre-push hook that runs cargo audit. We hit it on several repositories today;
in one of them the pre-push gate refuses the push entirely, with 22 of 23
checks passing and only the advisory step failing.
Fix
Delete crates/gettext-rs/RUSTSEC-2026-0244.md, keeping the gettext-sys one
that #3128 intended.
Happy to open that PR if it is useful.
Since #3128 the advisory ID
RUSTSEC-2026-0244exists in two files:That PR moved the advisory to
gettext-sysbut the copy undergettext-rswas not removed, so both are present on
main(currently565436d8).cargo-auditrefuses to load the database when it sees a duplicate ID, whichmeans every
cargo auditrun fails, not only ones involving gettext:Reproducing
on any project. Or directly:
Impact
This is a hard failure rather than a warning, so it blocks any CI step or
pre-push hook that runs
cargo audit. We hit it on several repositories today;in one of them the pre-push gate refuses the push entirely, with 22 of 23
checks passing and only the advisory step failing.
Fix
Delete
crates/gettext-rs/RUSTSEC-2026-0244.md, keeping thegettext-sysonethat #3128 intended.
Happy to open that PR if it is useful.