5465 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / docker-compose.yml YML
services:
  # ── PostgreSQL Database (required by LiteLLM's database_url config) ──
  litellm-db:
    image: postgres:15-alpine
    container_name: litellm-db-35030
    environment:
      POSTGRES_DB: litellm
      POSTGRES_USER: litellm
      POSTGRES_PASSWORD: litellm123
    ports:
      - "5432:5432"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U litellm -d litellm"]
      interval: 5s
      timeout: 3s
      retries: 10

  # ── Mock OIDC Provider ──────────────────────────────────────────────
  oidc-mock:
    build: ./oidc-provider
    container_name: oidc-mock
    ports:
      - "8000:8000"
    healthcheck:
      test: ["CMD-SHELL", "python3 -c \"import urllib.request; exit(0 if urllib.request.urlopen('http://localhost:8000/health').status == 200 else 1)\""]
      interval: 5s
      timeout: 3s
      retries: 10

  # ── Vulnerable LiteLLM (v1.82.x — OIDC cache key collision) ────────
  litellm-vuln:
    build: ./litellm-vuln
    container_name: litellm-cve-35030-vuln
    ports:
      - "4000:4000"
    volumes:
      - ./litellm_config.yaml:/app/config.yaml
    environment:
      - LITELLM_MASTER_KEY=sk-litellm-master-key
      - DATABASE_URL=postgresql://litellm:litellm123@litellm-db:5432/litellm
    depends_on:
      oidc-mock:
        condition: service_healthy
      litellm-db:
        condition: service_healthy
    restart: unless-stopped

  # ── Fixed LiteLLM (v1.83.0+ — sha256 cache key, not token[:20]) ───
  litellm-fixed:
    build: ./litellm-fixed
    container_name: litellm-cve-35030-fixed
    ports:
      - "4001:4000"
    volumes:
      - ./litellm_config.yaml:/app/config.yaml
    environment:
      - LITELLM_MASTER_KEY=sk-litellm-master-key
      - DATABASE_URL=postgresql://litellm:litellm123@litellm-db:5432/litellm
    profiles:
      - fixed
    depends_on:
      oidc-mock:
        condition: service_healthy
      litellm-db:
        condition: service_healthy
    restart: unless-stopped