Skip to content
OpenAdvisories
Low · 3.0 CVE-2024-41949 CVE-2024-42350EUVD-2024-2393GHSA-47cq-pc2v-3rmpGHSA-p9w4-585h-g3c7GHSA-rgqv-mwc3-c78mHSEC-2024-0009

biscuit-rust vulnerable to public key confusion in third party block

Published Aug 1, 2024 · Updated Aug 2, 2024 · Assigned by GitHub_M

Description

biscuit-rust is the Rust implementation of Biscuit, an authentication and authorization token for microservices architectures. Third-party blocks can be generated without transferring the whole token to the third-party authority. Instead, a ThirdPartyBlock request can be sent, providing only the necessary info to generate a third-party block and to sign it, which includes the public key of the previous block (used in the signature) and the public keys part of the token symbol table (for public key interning in datalog expressions). A third-part block request forged by a malicious user can trick the third-party authority into generating datalog trusting the wrong keypair.

Affected products

VendorProductAffectedFixed
biscuit-auth biscuit-rust < 5.0.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io biscuit-auth >= 4.0.0, < 5.0.0 5.0.0 GHSA-p9w4-585h-g3c7
Hackage biscuit-haskell >= 0.3.0.0, < 0.4.0.0 0.4.0.0 HSEC-2024-0009

References