tj-actions/changed-files - CVE-2025-30066 - geheime Leak

CVE-2025-30066: Wann tj-actions/changed-files zu engem geheime Leck féieren

Geheimleckage geet net ëmmer ëm schlecht Code oder vulnérabel Bibliothéiken. Heiansdo kënnt et drop un, wéi mir Geheimnisser während CI-Läuf verwalten, an CVE-2025-30066 ass e Léierbuchbeispill dofir, wéi dat schiefgoe kann. D'GitHub-Aktioun tj-actions/changed-files, déi wäit verbreet ass fir geännert Dateien an ... z'entdecken pull requests, gouf zu engem rouege Kanal fir geheime Leckage. Hei ass wat geschitt ass a wéi Dir Är späre kënnt CI/CD Geheimnisser pipeline.

Wat ass a CVE-2025-30066 geschitt?

Mëtt Mäerz 2025 gouf tj-actions/changed-files kompromittéiert. Den Ugräifer huet existent Versiounstags (bis zu v45.0.7) nei geschriwwen, fir op eng béiswëlleg Software hinzeweisen. commitDëst huet d'Verhale vun der Aktioun geännert, ouni datt d'Entwéckler et gemierkt hunn; et gouf keng nei Versioun erausbruecht, just onsichtbar Tag-Manipulatioun.

D'Payload war einfach, awer geféierlech: et huet e Base64-codéiert Python-Skript op Distanz geruff, dat de Runner-Späicher no Umeldungsinformatioune gescannt huet, se a Logbicher gedumpt oder exfiltréiert huet. Dëst war kee logesche Codefehler an den tj-actions/changed-files; et war e Mëssbrauch dovun, wéi Geheimleckage bannent CI-Workflows mat där wiederverwendbarer Aktioun optriede kann. CVE-2025-30066 huet sech net ëm Buffer-Iwwerlaf gedréint; et goung ëm e CI-Designfehler, deen et erlaabt huet, Geheimnisser ze lecken.

Auswierkung: All Repo, deen déi betraffe Versioune vun tj-actions/changed-files benotzt, huet e Risiko vun engem Geheimleckage mat sech bruecht, besonnesch wa sensibel Tokens oder Dateien onsécher a Dateimusteren oder CI-Ausgäng behandelt goufen.

Firwat dëst Workflows beaflosst, déi op wiederverwendbar Aktiounen vertrauen

DevSecOps Workflows staark op tj-actions/changed-files vertrauen fir:

  • Automatizéieren pull request Schecken
  • Identifizéiert geännert Dateien a spezifesche Weeër
  • Redundant CI-Aarbechtsplazen vermeiden

Mä dës Workflows iwwersinn dacks eng Saach: wéi Glob-Muster sensibel Donnéeën enthalen kënnen. Entwéckler ginn dovun aus, datt tj-actions/changed-files sech standardméisseg sécher verhält. Wann Dir awer glob... Konfiguratiounen/** an Geheimnisser sinn dran gespäichert configs/secrets.env, Dir hutt just eng geheim Datei an CI-Ausgäng oder Logbicher bäigefüügt. Dat ass kee Bug an der Aktioun; et ass en CI/CD Designfehler, deen zu engem geheime Leckage féiert. CVE-2025-30066 ass e kloert Beispill dofir.

Wéi déi geheim Leckage geschitt ass (Vulnerability Breakdown)

Loosst eis de Kärfehler hannert CVE-2025-30066 opdecken:

  • Kugelmuster wéi **/*.env ongewollt iwwereneestëmmend geheim Dateien
  • tj-actions/changed-files hunn dës Geheimnisser als geännert Dateien behandelt
  • Geheimnisser sinn a Schrëtt-Ausgaben, Logbicher oder Downstream-Jobs gelant.

Dëst ass geschitt, well Geheimnisser a Versiounskontrolléierte Weeër gespäichert waren (schlecht Iddi), an d'CI-Konfiguratioun se net explizit vum Globbing ausgeschloss huet (och schlecht). Et ass also kee Code-Feeler, et ass schlecht CI-Designhygiene, déi Geheimnisleckage mat tj-actions/changed-files Outputs verursaacht.

Praktesche Exploit-Wee: Vum CI-Job bis zur Expositioun vu Referenzen

Beispill vun engem CI-Setup, deen e Geheimleck duerch tj-actions/changed-files verursaacht huet:

If configs/secrets.env geännert:

  • Et gouf vun tj-actions/changed-files markéiert.
  • Et gouf abegraff an steps.changed.outputs.all_changed_dateies
  • Spéider Schrëtt hunn et geloggt oder u Skripter weiderginn, wouduerch Geheimnisser geleckt goufen

Dëse Leak ass geschitt, well d'CI-Logik Geheimnisser wéi normal Dateien behandelt huet. Do fänkt de Geheimnisleck un, net wéinst engem Buffer-Iwwerlaf, mä wéinst dem Mëssbrauch vun tj-Aktiounen/geännerte Dateien an engem fehlerhaften CI-Design.

D'Verbreedung geschitt mat Ausgaben wéi:

If secrets.env an där Lëscht ass, kéint säin Dateinumm a méiglecherweis den Inhalt a Build-Logs opdauchen. Och bedingt Logik wéi:

Kann sensibel Artefakte weisen. Dëst ass e CI/CD e Designfehler, deen e geheime Leckage erlaabt, keen Defekt am Aktiounscode.

Wéi een erëmverwendbar Workflows sécher benotzt a Leckage verhënnert

Dir musst tj-actions/changed-files net opginn. Dir sollt wiederverwendbar Aktiounen mat enger "Geheimnisser als éischt"-Astellung benotzen:

Best Practices fir d'Handhabung vu Geheimnisser

  • Maacht keng Versiounskontrollgeheimnisser, ni
  • Vermeit Globmuster, déi mat sensiblen Weeër iwwereneestëmmen
  • Benotzt Ëmweltbaséiert Geheimnisser (GITHUB_ENV, Vaults, GitHub Secrets)

CI/CD Configuratioun Guardrails

  • Aktiounen ëmmer op onverännerlech SHAs festpinnen, net op Tags (benotzt ni @v45)
  • Behandelt d'Ausgab vun tj-actions/changed-files als kontaminéiert, sanéiert oder filtert se.
  • Ausgäng nëmmen astellen, wann se sanéiert sinn

⚠️ Onséchert Beispill:

Dat Uewendriwwer ass genau de Mëssbrauch hannert dem geheime Leakage a CVE-2025-30066.

Sécher Alternativ:

Doduerch vermeit Dir de CI/CD Designfehler, deen zu engem Geheimleckage iwwer tj-Aktiounen/geännert-Dateien féiert.

Zousätzlech:

  • Deaktivéieren oder limitéieren d'Protokolléierung wou Geheimnisser optriede kéinten
  • Benotzt déi geheim Maskéierungsfunktioune vu GitHub
  • Zougang zu Build-Logs an Artefakte limitéieren

Quick Secrets - Checklëscht fir sécher CI-Benotzung

Bescht Praxis
Späichert keng Geheimnisser a Versiounskontrolléierte Dateien
Benotzt Vaults oder GitHub Secrets fir Umeldungsinformatiounen
Tj-Aktiounen/geännert-Dateien ëmmer op onverännerlech SHAs festpinnen
Filter oder sanéiert d'Ausgaben aus tj-actions/changed-files
Ni geheim Weeër a Glob-Musteren enthalen
Protokoller maskéieren oder beschränken, déi sensibel Donnéeën exposéiere kënnen
Iwwerpréift ierflech CI-Konfiguratiounen dacks

D'Roll vun Xygeni: Ëmsetzung vu CI-Geheimnisser a groussem Ëmfang

Xygeni stattfond huet CI/CD pipelines andeems een sech drop konzentréiert wéi Geheimnisser an der realer Welt behandelt, benotzt an opgedeckt ginn DevOps Workflows. Et geet net nëmmen ëm Code scannen; et geet drëm, Best Practices fir Geheimmanagement duerch Live-Instruktiounen ëmzesetzen. pipeline Analyse.

Detektioun vun der Benotzung vun onsécheren Ausgaben

  • Scannt GitHub Aktiounen fir d'Benotzung vun echo, run, an Ausgaben wou ${{ steps.*.outputs.* }} kéint sensibel Wäerter enthalen
  • Identifizéiert wann Geheimnisser direkt, absichtlech oder aus Versehen referenzéiert oder gedréckt ginn

Iwwerwaachung vu geleakte Geheimnisser

  • Erkennt héich Entropiewäerter (API-Schlësselen, Tokens) a Logbicher an Schrëttausgab.
  • Ausléist Alarmer wann Geheimnisser am pipeline Logbicher, och wann se no ënnen maskéiert sinn

Falsch konfiguréiert Aktiounsnotzung

  • Verfollegt all GitHub Aktiounen pipelines fir d'Benotzung vu kompromittéierte Versiounen z'entdecken (z.B. tj-actions/geännert-Dateien@v45)
  • Iwwerpréift Datei-Matching-Muster, déi potenziell Geheimnisser enthalen, wéi z.B. **/*.env, *.key oder .env.*

Politikbaséiert CI Guardrails

  • Erzwingt SHA-Pinning fir Aktiounen vun Drëttpersounen
  • Blockéiert d'Benotzung vun onséchere Dateigloben, déi Geheimnisser a Logbicher kéinte späicheren.
  • Verhënnerert pipelines vun der Emissioun vu sensiblen Wäerter als Deel vun de Workflow-Outputs

Indem Xygeni Workflows als Deel vun Ärer Bedrohungsfläch behandelt, garantéiert et, datt geheim Hygiène net nëmmen eng Best Practice ass, mee eng agebaute Verteidegung.

Conclusioun: Geheim Leckage kann mat enger einfacher Handlung ufänken Mëssbrauch

CVE-2025-30066 war kee Bibliothéiksfehler; et war en CI/CD Designfehler, deen duerch falsch Notzung vun tj-Aktiounen/geännerte Dateien entstanen ass. Wat DevSecOps-Teams matbrénge sollten:

  • Behandelt all Glob/Datei-Referenz am CI als e potenziellen Leckpunkt
  • Iwwerpréift Workflows regelméisseg op zoufälleg Inklusioun vu Geheimnisser
  • Benotzt sécher Tresore oder Ëmfeldgeheimnisser, kontrolléiert ni Geheimnisser an der Versiounskontroll.
  • All Workflow-Ausgaben sanéieren oder filteren
  • Sensibel Workflow-Aktivitéite protokolléieren, fir d'Auditéierbarkeet ze garantéieren

CI ass Code. Workflows sinn Code. Logbicher an Outputs sinn Code. Schützt Är Geheimnisser bei all Schrëtt, oder riskéiert e Geheimleckageszenario, dat keen Hacker brauch, just e schlechte ... CI/CD Designwahl.

sca-tools-software-zesummesetzungsanalyse-tools
Prioritäriséiert, behënnert a séchert Är Softwarerisiken
Kritt Äre gratis Kont.
Kee Kreditkaart erfuerderlech.

Séchert Är Softwareentwécklung a Liwwerung

mat der Xygeni Produkt Suite