Signature forgery in Biscuit
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-347.
Summary
Biscuit is an authentication and authorization token for microservices architectures. The Biscuit specification version 1 contains a vulnerable algorithm that allows malicious actors to forge valid Γ-signatures. Such an attack would allow an attacker to create a token with any access level. The version 2 of the specification mandates a different algorithm than gamma signatures and as such is not affected by this vulnerability. The Biscuit implementations in Rust, Haskell, Go, Java and Javascript all have published versions following the v2 specification. There are no known workarounds for this issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| biscuit-auth | biscuit | biscuit-auth >= 1.0.0, < 2.0.0; biscuit-haskell = 0.1.1.0; com.clever-cloud.biscuit-java < 2.0.0; github.com/biscuit-auth/biscuit-go < 2.0 | — | No fix listed | CNA |
| — | biscuit-auth (crates.io) | 1.0.0 to before 2.0.0 | 2.0.0 | Patch available | GHSA-75rw-34q6-72cr |
| — | github.com/biscuit-auth/biscuit-go (Go) | before 2.0.0 | 2.0.0 | Patch available | GHSA-75rw-34q6-72cr |
| — | com.clever-cloud:biscuit-java (Maven) | before 2.0.0 | 2.0.0 | Patch available | GHSA-75rw-34q6-72cr |
- biscuit Vendorbiscuit-auth Affected biscuit-auth >= 1.0.0, < 2.0.0; biscuit-haskell = 0.1.1.0; com.clever-cloud.biscuit-java < 2.0.0; github.com/biscuit-auth/biscuit-go < 2.0 Fixed in — No fix listed CNA
- biscuit-auth (crates.io) Vendor— Affected 1.0.0 to before 2.0.0 Fixed in 2.0.0 Patch available GHSA-75rw-34q6-72cr
- github.com/biscuit-auth/biscuit-go (Go) Vendor— Affected before 2.0.0 Fixed in 2.0.0 Patch available GHSA-75rw-34q6-72cr
- com.clever-cloud:biscuit-java (Maven) Vendor— Affected before 2.0.0 Fixed in 2.0.0 Patch available GHSA-75rw-34q6-72cr
CPE configurations NVD · 4
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:biscuitsec:biscuit-auth:*:*:*:*:*:rust:*:* | 1.0.0 – 1.1.0 | Vulnerable | biscuit-auth |
| cpe:2.3:a:biscuitsec:biscuit-go:*:*:*:*:*:*:*:* | before 2.0.0 | Vulnerable | biscuit-auth |
| cpe:2.3:a:biscuitsec:biscuit-haskell:0.1.1.0:*:*:*:*:*:*:* | 0.1.1.0 | Vulnerable | biscuit-auth |
| cpe:2.3:a:clever-cloud:biscuit-java:*:*:*:*:*:*:*:* | before 2.0.0 | Vulnerable | Clever-cloud |
- cpe:2.3:a:biscuitsec:biscuit-auth:*:*:*:*:*:rust:*:* Versions 1.0.0 – 1.1.0 Vulnerable ·biscuit-auth
- cpe:2.3:a:biscuitsec:biscuit-go:*:*:*:*:*:*:*:* Versions before 2.0.0 Vulnerable ·biscuit-auth
- cpe:2.3:a:biscuitsec:biscuit-haskell:0.1.1.0:*:*:*:*:*:*:* Versions 0.1.1.0 Vulnerable ·biscuit-auth
- cpe:2.3:a:clever-cloud:biscuit-java:*:*:*:*:*:*:*:* Versions before 2.0.0 Vulnerable ·Clever-cloud
Remediation
- Fix · GHSA-75rw-34q6-72cr biscuit-auth (crates.io) Fixed in 2.0.0 Advisory →
- Fix · GHSA-75rw-34q6-72cr github.com/biscuit-auth/biscuit-go (Go) Fixed in 2.0.0 Advisory →
- Fix · GHSA-75rw-34q6-72cr com.clever-cloud:biscuit-java (Maven) Fixed in 2.0.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2022-31053
- 2026-10-03 Alias added: GHSA-75rw-34q6-72cr
References
Exploit 2
Advisory 2
More Biscuit-auth vulnerabilities
- TI-2024-27971 biscuit-rust vulnerable to public key confusion in third party block CVSS 3.1MEDIUM 6.4
Sources
- CVE-2022-31053 · CVE Program
- CVE-2022-31053 · NVD
- FIRST EPSS
- GHSA-75rw-34q6-72cr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences