Skip to content
Heist/ feed
Back to feed
Low

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

Type: advisorySources: OSV

biscuit-java is the java 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. This vulnerability is fixed in 4.0.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2024-41948
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 03:35 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 1 Aug 2024, 22:03 UTC

biscuit-java is the java 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. This vulnerability is fixed in 4.0.0.

osv:CVE-2024-41948
Complete source record
{
  "id": "80c2add7919c8c690c4f8baf57b1dc2021d4f95612d0e8470b3c52a8a00116d2",
  "url": "https://osv.dev/vulnerability/CVE-2024-41948",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "biscuit-java vulnerable to public key confusion in third party block",
    "summary": "biscuit-java is the java 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. This vulnerability is fixed in 4.0.0.",
    "evidence": "osv:CVE-2024-41948",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2024-41948",
      "aliases": [
        "CVE-2024-41948",
        "GHSA-5hcj-rwm6-xmw4"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/eclipse-biscuit/biscuit-java",
              "type": "GIT",
              "events": [
                {
                  "introduced": "d56a39895bbbb79fc2e9835eb502ec0641c96349"
                },
                {
                  "fixed": "2e05e7b3f8f2aae38f33294f19419e2d638cb564"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.0.0"
                      },
                      {
                        "fixed": "4.0.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:biscuitsec:biscuit-java:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "3.0.0"
                      },
                      {
                        "fixed": "4.0.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.0.2",
            "3.0.1",
            "3.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-41948.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.304255091Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41948.json",
        "https://github.com/biscuit-auth/biscuit-java/security/advisories/GHSA-5hcj-rwm6-xmw4",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-41948"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-1259"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41948.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-41948",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 509905,
  "published_at": "2024-08-01T22:03:15.788+00:00"
}