{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": "cpe:2.3:a:langfuse:langfuse:*:*:*:*:*:*:*:*",
            "extracted_events": [
              {
                "introduced": "3.68.0"
              },
              {
                "fixed": "3.167.0"
              }
            ],
            "source": [
              "CPE_RANGE",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "aae1909466a4f676d77621a6349905d16b73873e"
            },
            {
              "fixed": "dd632fea9efe6cc9e125f3dcec051d4f3bab7669"
            },
            {
              "fixed": "7527bb0d84bc0a3dc24a4b16d22ed2e46e6dddff"
            },
            {
              "fixed": "e12386f9d4368bbfff24a4ad7fd53641091605ff"
            }
          ],
          "repo": "https://github.com/langfuse/langfuse",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-2524-j966-gfgh"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-284"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41487.json"
  },
  "details": "Langfuse is an open source large language model engineering platform. From version 3.68.0 to before version 3.167.0, there is  a role-based-access control flaw in the LLM connection update flow. An authenticated, low-privileged user of role “member” in a project could request the update of an existing LLM connection to an attacker-controlled baseUrl, causing Langfuse to reuse the stored provider secret and redirect the test request to an attacker-controlled endpoint. This could expose the plaintext provider LLM API key for that connection. The attack is only possible if a user is already part of a project and has “member” scoped access. This issue has been patched in version 3.167.0.",
  "id": "CVE-2026-41487",
  "modified": "2026-08-12T03:51:46.961585095Z",
  "published": "2026-05-08T14:27:48.588Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/langfuse/langfuse/releases/tag/v3.167.0"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41487.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/langfuse/langfuse/security/advisories/GHSA-2524-j966-gfgh"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-41487"
    },
    {
      "type": "FIX",
      "url": "https://github.com/langfuse/langfuse/commit/7527bb0d84bc0a3dc24a4b16d22ed2e46e6dddff"
    },
    {
      "type": "FIX",
      "url": "https://github.com/langfuse/langfuse/commit/e12386f9d4368bbfff24a4ad7fd53641091605ff"
    },
    {
      "type": "FIX",
      "url": "https://github.com/langfuse/langfuse/pull/13027"
    },
    {
      "type": "FIX",
      "url": "https://github.com/langfuse/langfuse/pull/13055"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "Langfuse: Improper role-based-access control in Langfuse LLM connection management allowed users of role “member” to retrieve stored LLM provider API keys"
}