Rust advisories / libsecp256k1
Vulnerability CriticalRUSTSEC-2021-0076 · libsecp256k1
RUSTSEC-2021-0076: libsecp256k1 allows overflowing signatures
Short answerA security vulnerability in the libsecp256k1 crate: libsecp256k1 allows overflowing signatures. GitHub rates it Critical. Fixed in 0.5.0: update to a fixed version.
| Crate | libsecp256k1 |
|---|---|
| Type | Vulnerability (crypto-failure) |
| Affected versions | Before 0.5.0. |
| Fixed in | 0.5.0 |
| Severity | Critical (GitHub rating) |
| Published | 2021-07-13 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2021-38195, GHSA-g4vj-x7v9-h82m |
What to do
- See which version you have:
cargo tree -i libsecp256k1(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p libsecp256k1. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplelibsecp256k1 = "0.5.0") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
libsecp256k1 accepts signatures whose R or S parameter is larger than the secp256k1 curve order, which differs from other implementations. This could lead to invalid signatures being verified.
The error is resolved in 0.5.0 by adding a check_overflow flag.
References
- Package: crates.io/crates/libsecp256k1
- Advisory: rustsec.org/advisories/RUSTSEC-2021-0076.html
- Web: github.com/paritytech/libsecp256k1/pull/67
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for libsecp256k1
Up next
Same cratelibsecp256k1: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?