Die beliebte GitHub Action tj-actions/changed-files ist kompromittiert

Die beliebte GitHub Action tj-actions/changed-files wurde durch ein schädliches Payload kompromittiert. Dieses scheint zu versuchen, Repository-Geheimnisse zu exportieren, was das Potenzial hat, Tausende von CI-Pipelines auf GitHub zu beeinträchtigen. Seit dem 14. März 2025 gelten alle Versionen dieser Action als kompromittiert. Dies ist nicht das erste Sicherheitsproblem im Zusammenhang mit dieser Action – eine frühere Schwachstelle (CVE-2023-51664) wurde bereits gemeldet.

Die Action wird häufig in CI/CD-Workflows verwendet, um zu erkennen, welche Dateien zwischen Commits geändert wurden, was sie zu einem hochkarätigen Ziel für Angreifer macht, die an der Extraktion sensibler Informationen aus Repositories interessiert sind.

Datum16.03.2025 01:30:55
Informationen
  • Aktive Ausnutzung

Technische Zusammenfassung

Die Kompromittierung umfasst ein schädliches Payload, das im Commit 0e58ed8 in den Code der Action eingeschleust wurde. Wenn die kompromittierte Action in einem Workflow ausgeführt wird, versucht sie, Geheimnisse durch Schreiben auf stdout zu exfiltrieren, was besonders gefährlich in Repositories mit öffentlichen CI-Runner-Logs ist.

Der Angriff nutzt das große Vertrauen in diese Action sowie die weitreichenden Berechtigungen aus, die GitHub Actions-Workflows typischerweise gewährt werden. Da die Action in den meisten Implementierungen über Tags anstelle von Commit-SHAs referenziert wird, sind Benutzer automatisch der kompromittierten Version ausgesetzt, sobald das Tag aktualisiert wird, ohne dass die Workflow-Dateien geändert werden müssen.

Das Payload zielt spezifisch auf CI-Umgebungsvariablen und Geheimnisse ab, die oft sensible Authentifizierungstoken, API-Schlüssel und andere Anmeldeinformationen enthalten, die einem Angreifer Zugriff auf verschiedene Systeme und Dienste gewähren könnten.

Empfehlungen

Sofortmaßnahmen:

Identifizierung kompromittierter Repositories durch:

  • Suche in Ihrem Code nach Referenzen auf tj-actions
  • Verwendung der GitHub-Suchabfrage: https://github.com/search?q=org%3A<YOURORG>+uses%3A+tj-actions%2F&type=code

Sofortige Entfernung der kompromittierten Action aus:

  • Allen Branches (nicht nur dem Haupt-Branch)
  • Allen Workflow-Dateien (.github/workflows/*.yml)

Implementierung präventiver Maßnahmen:

  • Konfiguration der GitHub-Organisationseinstellungen, um nur sichere Actions zuzulassen (Allow-List)
  • Entfernung von tj-actions/changed-files aus der Liste der erlaubten Actions
  • Pinnen der verbleibenden GitHub Actions auf spezifische Commit-SHAs anstelle von Versions-Tags

Nutzung von Alternativen:

  • Umstieg auf eine sicherere GitHub Action-Alternative
  • Erwägung der Implementierung einer Inline-Logik zur Erkennung von Dateiänderungen
  • Für Benutzer der Semgrep AppSec Platform: Aktivieren Sie sofort den Block-Modus für die Erkennungsregel

Denken Sie daran, dass das Entfernen der Action nur aus dem Haupt-Branch nicht ausreicht – sie muss vollständig aus allen Workflows gelöscht werden, um ihre Ausführung in jedem Kontext zu verhindern.

[Callforaction-THREAT-Footer]

Leave a Reply

Your email address will not be published. Required fields are marked *