Skip to main content
← All vulnerabilities
CVE-2024-42350GHSA-P9W4-585H-G3C7GHSA-47CQ-PC2V-3RMPGHSA-RGQV-MWC3-C78MHSEC-2024-0009

Public key confusion in third party block in Biscuit

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4, 5.0.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

Biscuit is an authorization token with decentralized verification, offline attenuation and strong security policy enforcement based on a logic language. 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: 1. the public key of the previous block (used in the signature), 2. 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. Tokens with third-party blocks containing `trusted` annotations generated through a third party block request. This has been addressed in version 4 of the specification. Users are advised to update their implementations to conform. There are no known workarounds for this vulnerability.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • biscuit-auth biscuit

    fixed in 4

  • biscuit-authcrates.io

    From 4.0.0 · fixed in 5.0.0

References 2

GitHub · biscuit-auth/biscuit