Description
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.
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Affected products
- biscuit-auth / biscuitbiscuit-auth >= 1.0.0, < 2.0.0 – biscuit-auth >= 1.0.0, < 2.0.0
- biscuit-auth / biscuitbiscuit-haskell = 0.1.1.0 – biscuit-haskell = 0.1.1.0
- biscuit-auth / biscuitcom.clever-cloud.biscuit-java < 2.0.0 – com.clever-cloud.biscuit-java < 2.0.0
- biscuit-auth / biscuitgithub.com/biscuit-auth/biscuit-go < 2.0 – github.com/biscuit-auth/biscuit-go < 2.0