CVE-2024-41949 json
biscuit-rust vulnerable to public key confusion in third party block
published 2024-07-31 2 y ago modified 2026-06-17 4 mo ago also CVE-2024-42350 , EUVD-2024-2393 , GHSA-47cq-pc2v-3rmp , GHSA-p9w4-585h-g3c7 , GHSA-rgqv-mwc3-c78m , HSEC-2024-0009
- cvss
- 3.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 14%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- crates.io biscuit-auth 5.0.0
- hackage biscuit-haskell 0.4.0.0
- biscuitsec biscuit-auth 5.0.0
- github.com/biscuit-auth/biscuit-haskell#93 pull request
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.24% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 3.0 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N |
| GitHub | 3.1 | 3.0 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N |
| NVD | 3.1 | 6.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| OSV | 3.1 | 3.0 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | biscuit-auth | >=4.0.0, <5.0.0 |
5.0.0 |
| hackage | biscuit-haskell | >=0.3.0.0, <0.4.0.0 |
0.4.0.0 |
Affected products
- biscuit-auth biscuit-rust
Classification
- Weakness
-
- CWE-269 Improper Privilege Management
References
-
github.com
/biscuit-auth/biscuit-haskell/pull/93
patch
-
github.com
/biscuit-auth/biscuit-rust/security/advisories/GHSA-p9w4-585h-g3c7
web, third-party-advisory
-
github.com
/biscuit-auth/biscuit/security/advisories/GHSA-rgqv-mwc3-c78m
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-41949
advisory
-
github.com
/biscuit-auth/biscuit-rust
package
-
github.com
/biscuit-auth/biscuit-haskell/security/advisories/GHSA-47cq-pc2v-3rmp
advisory
Sources
- CVE List CVE-2024-41949
- GitHub Advisory GHSA-p9w4-585h-g3c7
- NVD CVE-2024-41949
- OSV HSEC-2024-0009
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.