{
  "schemaVersion": "guard-threat-campaign/v1",
  "id": "HGTC-2026-424CAF68",
  "slug": "litellm-enterprise-proxy-unauthenticated-master-key-leak-ghsa-w4c7-34wj-hqm8",
  "title": "LiteLLM Enterprise proxy leaks its master key to a request with no API key (GHSA-w4c7-34wj-hqm8)",
  "aliases": [
    "GHSA-w4c7-34wj-hqm8",
    "LiteLLM master key leak",
    "LiteLLM Enterprise unauthenticated file read",
    "litellm 1.106.5 security fix",
    "LiteLLM failure log allowlist PR 48599"
  ],
  "summary": "An unauthenticated request to any LLM route on a LiteLLM proxy running with an Enterprise license could make the proxy read a local file and send its contents to a URL chosen by the attacker. Reading the process environment exposes LITELLM_MASTER_KEY and provider API keys, which gives full admin on the proxy; in some configurations this leads to arbitrary Python execution as root. The root cause, per PR #48599, is that failure logs for rejected requests were built from the raw request body, so a caller with no valid key could set per-request logging parameters such as the Langfuse or LangSmith host and the GCS bucket and service-account path. Fixed in litellm 1.103.10, 1.104.8, 1.105.6 and 1.106.5, whose release notes describe the change only as a logging change with 'No action needed to upgrade'. Open source deployments without a license are not affected.",
  "status": "published",
  "severity": "critical",
  "confidence": "high",
  "uncertainty": "BerriAI has not published a full exploit chain; the link between the caller-controlled logging fields and the file read plus exfiltration is HOL's reading of PR #48599 and the advisory text. No CVE ID assigned yet. The advisory reports no exploitation and the issue is not on CISA KEV. The number of Enterprise-licensed proxies exposed is unknown.",
  "firstObservedAt": "2026-10-27T19:39:00Z",
  "lastObservedAt": "2026-10-27T20:33:15Z",
  "publishedAt": "2026-10-27T20:53:45.057Z",
  "reviewedAt": "2026-10-27T20:53:38.302Z",
  "expiresAt": "2026-10-27T20:33:15Z",
  "reviewer": "HOL Guard Security Publishing",
  "sources": [
    {
      "id": "ghsa",
      "label": "GHSA-w4c7-34wj-hqm8: Unauthenticated file read leaks master key on Enterprise proxy",
      "url": "https://github.com/BerriAI/litellm/security/advisories/GHSA-w4c7-34wj-hqm8",
      "sourceType": "maintainer_advisory",
      "observedAt": "2026-10-27T20:33:15Z"
    },
    {
      "id": "fix-pr",
      "label": "BerriAI/litellm PR #48599: build proxy-only failure logs from an allowlist",
      "url": "https://github.com/BerriAI/litellm/pull/48599",
      "sourceType": "other_primary",
      "observedAt": "2026-10-27T19:40:59Z"
    },
    {
      "id": "release-1-106-5",
      "label": "LiteLLM v1.106.5 release",
      "url": "https://github.com/BerriAI/litellm/releases/tag/v1.106.5",
      "sourceType": "other_primary",
      "observedAt": "2026-10-27T19:58:45Z"
    },
    {
      "id": "pypi",
      "label": "PyPI litellm release history",
      "url": "https://pypi.org/project/litellm/",
      "sourceType": "other_primary",
      "observedAt": "2026-10-27T20:33:15Z"
    },
    {
      "id": "hol-blog",
      "label": "HOL Guard analysis: LiteLLM Enterprise proxy master key leak",
      "url": "https://hol.org/blog/litellm-enterprise-proxy-unauthenticated-master-key-leak-ghsa-w4c7-34wj-hqm8",
      "sourceType": "research",
      "observedAt": "2026-10-27T20:49:30Z"
    }
  ],
  "artifacts": [
    {
      "id": "litellm-pypi",
      "artifactClass": "package",
      "ecosystem": "pypi",
      "name": "litellm",
      "version": "< 1.103.10; 1.104.x < 1.104.8; 1.105.x < 1.105.6; 1.106.x < 1.106.5 (Enterprise license only)",
      "defanged": false
    },
    {
      "id": "litellm-docker",
      "artifactClass": "package",
      "ecosystem": "docker",
      "name": "ghcr.io/berriai/litellm",
      "version": "fixed: v1.106.5, v1.105.6, v1.104.8, v1.103.10",
      "defanged": false
    }
  ],
  "indicators": [],
  "timeline": [
    {
      "id": "pypi-fixed-uploads",
      "occurredAt": "2026-10-27T19:39:00Z",
      "eventType": "vendor_action",
      "summary": "Fixed litellm 1.104.8, 1.103.10 and 1.105.6 uploaded to PyPI between 19:39 and 19:42 UTC.",
      "sourceIds": [
        "pypi"
      ]
    },
    {
      "id": "fix-pr-merged",
      "occurredAt": "2026-10-27T19:40:59Z",
      "eventType": "vendor_action",
      "summary": "PR #48599 merged: failure logs for rejected requests built from an allowlist; GCS logger pinned to its configured bucket and service account.",
      "sourceIds": [
        "fix-pr"
      ]
    },
    {
      "id": "github-releases",
      "occurredAt": "2026-10-27T19:58:45Z",
      "eventType": "vendor_action",
      "summary": "GitHub releases v1.103.10, v1.104.8, v1.105.6 and v1.106.5 published, labeled as logging changes with no upgrade action needed.",
      "sourceIds": [
        "release-1-106-5"
      ]
    },
    {
      "id": "ghsa-published",
      "occurredAt": "2026-10-27T20:33:15Z",
      "eventType": "disclosure",
      "summary": "BerriAI publishes GHSA-w4c7-34wj-hqm8, critical, CVSS 10.0, crediting Dylan Ong (Karmasec) and Cyrill Bannwart (Compass Security).",
      "sourceIds": [
        "ghsa"
      ]
    },
    {
      "id": "hol-analysis",
      "occurredAt": "2026-10-27T20:49:30Z",
      "eventType": "other",
      "summary": "HOL Guard publishes operator analysis with version and license check plus rotation steps.",
      "sourceIds": [
        "hol-blog"
      ]
    }
  ],
  "coverage": [],
  "policies": [],
  "limitations": [
    "Open source LiteLLM proxies without an Enterprise license are not affected; the vulnerable code paths only load with an active license.",
    "Applications that use the litellm Python SDK without running the proxy server are not in scope of the advisory.",
    "Proxies already on 1.103.10, 1.104.8, 1.105.6 or 1.106.5 are fixed.",
    "This is not a supply-chain compromise like 1.107.0; the published packages were not tampered with.",
    "No exploitation has been reported and the issue is not on CISA KEV as of publication."
  ],
  "correctionHref": "/guard/security/campaigns/litellm-enterprise-proxy-unauthenticated-master-key-leak-ghsa-w4c7-34wj-hqm8/corrections"
}
