„`html
Zusammenfassung
CVE-2026-76847 ist eine kritische Schwachstelle (CVSS 8.8) im HTTP Artifacts V4 Backend von GitHub Actions. Die Vulnerability ermöglicht unbefugten Zugriff auf Artefakte laufender Workflows durch mehrere Sicherheitsmängel in der Authentifizierung und Autorisierung.
Betroffene Systeme
Die Schwachstelle betrifft Systeme, die GitHub Actions mit den Komponenten actions/upload-artifact@v4 oder actions/download-artifact@v4 einsetzen. Dies umfasst insbesondere CI/CD-Pipelines und automatisierte Deployment-Prozesse, die auf diesen Actions basieren.
Technische Details
Authentifizierungsmängel: Die Funktion validateRunIDV4 in pkg/artifacts/artifacts_v4.go führt keine Überprüfung durch, ob die vom Client bereitgestellte workflow_run_backend_id dem anfordernden Task gehört. Die entsprechende Validierungslogik ist auskommentiert.
HMAC-Schwäche: Signierte URLs werden durch einen HMAC geschützt, dessen Schlüssel statisch auf vier Bytes (0xba 0xdb 0xee 0xf0) hardcodiert ist – identisch in allen Builds. Die Signatur wird über Endpoint, Ablaufzeit, Artefaktname und Task-ID ohne Längenpräfix oder Trennzeichen berechnet. Dies ermöglicht Signature-Fälschungen und Verwechslungen zwischen verschiedenen Artefakt- und Task-ID-Kombinationen.
Netzwerkerreichbarkeit: Das Flag --artifact-server-addr bindet das Backend standardmäßig an die ausgehende Adresse des Hosts statt an Loopback, wodurch es aus dem umgebenden Netzwerk erreichbar wird.
Empfohlene Massnahmen
- Implementierung einer ordnungsgemäßen Autorisierungsprüfung für
workflow_run_backend_id - Ersetzung des hardcodierten HMAC-SchlĂĽssels durch dynamisch generierte, sichere SchlĂĽssel pro Build
- Hinzufügung von Längenpräfixen und Trennzeichen zur HMAC-Berechnung
- Bindung des Artifact-Servers auf Loopback-Interface als Standard
- Netzwerk-Segmentierung zur Minimierung der Angriffsfläche
Bewertung
Mit CVSS 8.8 (High) stellt diese Vulnerability eine erhebliche Bedrohung dar. Angreifer können aus dem angrenzenden Netzwerk Build-Artefakte auslesen, manipulieren oder löschen – einschließlich sensibler Daten wie Secrets und Deployment-Credentials. Die Fehlende Patch-Verfügbarkeit verschärft die Situation erheblich.
„`