GHSA-69x8-hrgq-fjj8: LiteLLM Authentication Bypass Vulnerability

HIGH
CWE-327 CWE-200 CWE-916
Published
Advisory Summary

GHSA-69x8-hrgq-fjj8 is a HIGH authentication bypass vulnerability (CWE-327: Use of a Broken or Risky Cryptographic Algorithm) affecting LiteLLM libraries in the PyPI ecosystem. The issue involves password hash exposure and pass-the-hash authentication bypass. Remediation is available by upgrading affected packages to version 1.83.0.

GHSA-69x8-hrgq-fjj8 at a Glance

CVE Identifier N/A
GHSA Identifier GHSA-69x8-hrgq-fjj8
Severity HIGH
CVSS v3.1 Base Score N/A
CWE Classification CWE-327: Use of a Broken or Risky Cryptographic Algorithm
Affected Product LiteLLM
Package Ecosystem PyPI
Published Date
Last Updated

How to Fix GHSA-69x8-hrgq-fjj8

To remediate this vulnerability, upgrade all affected LiteLLM dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

litellm fixed: 1.83.0
pip install litellm>=1.83.0
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

pip show litellm

How to Check if You Are Affected

To determine whether your Python environment is affected by GHSA-69x8-hrgq-fjj8, inspect your installed packages using pip:

pip show litellm

Analyze the terminal output to locate any version of LiteLLM in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.83.0), your application is affected.

Note: The pip show litellm command checks currently installed packages in your active Python environment.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-327: Use of a Broken or Risky Cryptographic Algorithm, where the product uses a broken or risky cryptographic algorithm or protocol. In LiteLLM, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact Three issues combine into a full authentication bypass chain: 1. Weak hashing: User passwords are stored as unsalted SHA-256 hashes, making them vulnerable to rainbow table attacks and trivially identifying users with identical passwords. 2. Hash exposure: Multiple API endpoints (/user/info, /user/update, /spend/users) return the password hash field in responses to any authenticated user regardless of role. Plaintext passwords could also potentially be exposed in certain scenarios. 4. Pass-the-hash: The /v2/login endpoint accepts the raw SHA-256 hash as a valid password without re-hashing, allowing direct login with a stolen An already authenticated user can retrieve another user's password hash from the API and use it to log in as that user. This enables full privilege escalation in three HTTP requests. ### Patches Fixed in v1.83.0. Passwords are now hashed with scrypt (random 16-byte salt, n=16384, r=8, p=1). Password hashes are stripped from all API responses. Existing SHA-256 hashes are transparently migrated on next login.

GHSA-69x8-hrgq-fjj8 Affected LiteLLM Versions

1 component(s)
Fixed Versions:
1.83.0
Product / Package Ecosystem Affected Versions Fixed Version
litellm
PyPI
< 1.83.0
1.83.0

References

Frequently Asked Questions

What is GHSA-69x8-hrgq-fjj8?
GHSA-69x8-hrgq-fjj8 is a security vulnerability in LiteLLM involving Password hash exposure and pass-the-hash authentication bypass under CWE-327: Use of a Broken or Risky Cryptographic Algorithm.
Which LiteLLM versions are affected?
Affected versions include releases prior to 1.83.0 across affected packages: litellm.
What version fixes GHSA-69x8-hrgq-fjj8?
Upgrading to 1.83.0 (or the latest patched release for your respective branch) resolves the vulnerability.
Is litellm affected?
Yes, litellm is affected in releases prior to 1.83.0. Upgrade your dependency to 1.83.0 or later.
What CWE is associated with GHSA-69x8-hrgq-fjj8?
GHSA-69x8-hrgq-fjj8 is classified under CWE-327: Use of a Broken or Risky Cryptographic Algorithm (The product uses a broken or risky cryptographic algorithm or protocol.).
How can I check PyPI dependencies for GHSA-69x8-hrgq-fjj8?
Run the dependency tree command: 'pip show litellm'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-69x8-hrgq-fjj8",
  "modified" : "2026-04-08T00:04:12Z",
  "published" : "2026-04-08T00:04:12Z",
  "aliases" : [ ],
  "summary" : "LiteLLM: Password hash exposure and pass-the-hash authentication bypass",
  "details" : "### Impact\n\nThree issues combine into a full authentication bypass chain:\n\n1. Weak hashing: User passwords are stored as unsalted SHA-256 hashes, making them vulnerable to rainbow table attacks and trivially identifying users with identical passwords.\n2. Hash exposure: Multiple API endpoints (/user/info, /user/update, /spend/users) return the password hash field in responses to any authenticated user regardless of role. Plaintext passwords could also potentially be exposed in certain scenarios.\n4. Pass-the-hash: The /v2/login endpoint accepts the raw SHA-256 hash as a valid password without re-hashing, allowing direct login with a stolen\n\nAn already authenticated user can retrieve another user's password hash from the API and use it to log in as that user. This enables full privilege escalation in three HTTP requests.\n\n### Patches\n\nFixed in v1.83.0. Passwords are now hashed with scrypt (random 16-byte salt, n=16384, r=8, p=1). Password hashes are stripped from all API responses. Existing SHA-256 hashes are transparently migrated on next login.",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "PyPI",
      "name" : "litellm"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "1.83.0"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/BerriAI/litellm/security/advisories/GHSA-69x8-hrgq-fjj8"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/BerriAI/litellm"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-200", "CWE-327", "CWE-916" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-04-08T00:04:12Z",
    "nvd_published_at" : null
  }
}