README.md
Rendering markdown...
# =============================================================================
# CVE-2026-22738 | GHSA-fvh3-672c-7p6c | CVSS 9.8 CRITICAL
# Affected: Spring AI SimpleVectorStore 1.0.0–1.0.4, 1.1.0-M1–1.1.3
# Fixed: Spring AI 1.0.5 / 1.1.4
# Attack Vector: Network / No Auth / No User Interaction
# Description: SpEL injection via user-controlled filter key name in
# SimpleVectorStore.similaritySearch() → unauthenticated RCE
# Fix Commit: ba9220b22383e430d5f801ce8e4fa01cf9e75f29
# =============================================================================
services:
vulnerable-app:
# Name the container so the exploit script can docker-exec into it to verify
container_name: cve-2026-22738-lab
build:
# Builds the vulnerable Spring Boot 3.4.3 + Spring AI 1.0.4 application
# from source so the exact vulnerable version is pinned in pom.xml
context: ./app
dockerfile: Dockerfile
ports:
# Map host 8082 → container 8080.
# Using 8082 to avoid collisions with other local services on 8080/8081.
- "8082:8080"
restart: unless-stopped
# Cap resources — the lab must not exhaust the Docker host
deploy:
resources:
limits:
cpus: "1.0"
memory: 768M