
Verifizierte Schwachstellenreise für CVE-2025-8110 (Gogs) und CVE-2025-3248 (Langflow) — Risikobewertung, Ausnutzbarkeitsverifizierung, verifizierte Patches.
TL;DR für Führungskräfte: siehe DEMO-WALKTHROUGH.md — 8-minütiger Durchlauf von oben nach unten der gesamten Demo mit Beispiel-Verifier Ausgaben, keine Ausführung erforderlich.
Dieses Repository demonstriert eine durchgängige bestätigte Schwachstellenreise für zwei reale, öffentlich bekanntgegebene Remote-Codeausführungs-Schwachstellen — begleitet jede CVE durch vier kundenorientierte Artefakte.
| CVE | Produkt | Klasse | Schweregrad |
|---|---|---|---|
| CVE-2025-8110 | Gogs ≤ 0.13.3 | Symlink-Pfad-Traversal RCE (Authentifizierung erforderlich) | Hoch (CVSS 8.7) |
| CVE-2025-3248 | Langflow < 1.3.0 | Unauthenticated Python exec RCE | Kritisch (CVSS 9.8) |
Beide CVEs wurden in freier Wildbahn ausgenutzt beobachtet (Supershell C2 für Gogs, Flodrix Botnet für Langflow). Beide befinden sich im CISA KEV-Katalog — CVE-2025-3248 (hinzugefügt am 2025-05-05) und CVE-2025-8110 (hinzugefügt am 2026-01-12). Beide existieren Monate vor dieser Demo — sie sind nicht theoretisch.
Das Paar wurde speziell ausgewählt, um komplementäre Oberflächen zu testen:
Ein Patch-Agent (und Risikomodell), der beide behandelt, leistet echte Arbeit.
.
├── README.md # This file
├── attachments/ # Canonical branded HTML triage reports
│ ├── CVE-2025-8110.html
│ └── CVE-2025-3248.html
├── harbor-tasks/ # Lands via per-CVE PRs (see Issues #1, #2)
│ ├── CVE-2025-8110/
│ │ ├── ground_truth/fix.patch # Upstream 553707f3 verbatim
│ │ ├── healthcheck.json # Acceptance-gate spec
│ │ └── harbor/
│ │ ├── environment/Dockerfile # debian:bookworm-slim + Go 1.21 deps stage
│ │ ├── instruction.md # Agent task brief (scrubbed)
│ │ ├── task.toml # Harbor task descriptor
│ │ └── tests/ # Verifier + reward script
│ └── CVE-2025-3248/
│ └── ... (same shape, python:3.13-slim-bookworm base)
└── vulnerable/ # Read-only upstream subtrees (squashed)
├── gogs/ # gogs/gogs @ v0.13.3
└── langflow/ # langflow-ai/langflow @ 1.2.0
Für jede CVE, nachdem der entsprechende PR zusammengeführt wurde:
cd harbor-tasks/CVE-XXXX/docker build -t cve-xxxx-env -f harbor/environment/Dockerfile harbor/environment/bash harbor/tests/test.sh → reward=0.0 (Exploit wird ausgelöst)git apply ground_truth/fix.patch, führen Sie dann erneut bash harbor/tests/test.sh aus → reward=1.0reward=1.0 ist das Akzeptanzkriterium: Die Schwachstelle ist behoben UND der funktionale Regressionstest besteht weiterhinDer FAIR-Triage-Abschnitt in jedem Issue-Text trägt einen Verifiable Agent Conversation Record (VACR), signiert über COSE_Sign1 / Ed25519 (IETF RFC 9052). Der öffentliche Schlüssel ist VAC_SIGNING_PUBKEY; die signierte Nutzlast identifiziert die Persona, das Modell, die Roh-Artefakt-Inhaltshashes und die Prüfungsgremium-Entscheidungen, die jede Zeile erzeugt haben.
healthcheck.json in jeder Harbor-Aufgabe ist derzeit mit PENDING_DOCKER_VALIDATION gekennzeichnet — die Verifier-Dateibäume sind strukturell vollständig, mit dem kanonischen Upstream-Fix verbunden, aber die End-to-End-docker build + Belohnungsschleifen-Validierung wurde noch nicht gegen diese spezifischen Gerüste ausgeführt. Der operator_validation_steps-Block in jedem Healthcheck beschreibt die genauen Befehle, die ein Empfänger ausführt, um das Tor zu schließen. Die Produktionsverkabelung des Live-Verifiers und der bestätigten Patch-Schleife erfolgt in der nächsten Iteration.
Diese Demo würde ohne die ursprünglichen offenlegenden Forscher nicht existieren:
Der gesamte Quellcode unter vulnerable/ gehört dem jeweiligen Upstream-Projekt und unterliegt deren Lizenzen.
| # | Artefakt | Wo es sich in diesem Repo befindet |
|---|
| 1 | Schwachstellenbericht — Zusammenfassung der ursprünglichen Offenlegung, Schweregrad, Referenzen, IoCs | Oberer Abschnitt des GitHub Issue-Textes |
| 2 | FAIR-Business- und Compliance-Triage — Open FAIR §14 Verlustüberschreitungsschätzung mit Prüfungsgremium-Entscheidungen; kanonischer gebrandeter HTML-Anhang | Abschnitt "FAIR business and compliance triage" im selben Issue-Text + Geschwister-HTML in attachments/ |
| 3 | Exploit-Verifier — reproduzierbarer Container, der die Schwachstelle deterministisch auslöst (Harbor-Aufgabe: Anleitung, Umgebung, Tests, Belohnungsskript) | Pull-Request dieses Repositories für diese CVE, unter harbor-tasks/CVE-*/harbor/ |
| 4 | Bestätigter Patch — wörtlicher Upstream-Fix-Commit, angewendet durch den Verifier; Belohnung 1.0 = Schwachstelle behoben UND funktionale Regression intakt | Gleicher PR, harbor-tasks/CVE-*/ground_truth/fix.patch |