CVE-2019-1003029
Jenkins Script Security Plugin Sandbox Bypass Vulnerability
Beschreibung
CVE-2019-1003029 ist eine Sandbox-Bypass-Schwachstelle im Jenkins Script Security Plugin, einem Schutzmechanismus, der die Ausführung von Groovy-Skripten innerhalb von Jenkins-Pipelines einschränken soll. Diese Schwachstelle ermöglicht es einem Angreifer mit Berechtigungen zur Definition oder Konfiguration von Pipeline-Skripten, die Groovy-Sandbox zu umgehen und beliebigen Code auf dem Jenkins-Master-Server auszuführen. Das Versagen des Schutzmechanismus im Jenkins Script Security Plugin hebt die Sicherheitsgrenze auf, die verhindern soll, dass nicht vertrauenswürdige Skripte auf das zugrunde liegende Betriebssystem zugreifen. Die CISA hat CVE-2019-1003029 in den KEV-Katalog mit einer Behebungsfrist bis zum 16. Mai 2022 aufgenommen, und das EPSS-Perzentil von etwa 99,7 % weist auf nahezu sichere Ausnutzungsaktivität hin.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| jenkins | script security | <= 1.53 |
| redhat | openshift container platform | 3.11 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Referenzen
- http://packetstormsecurity.com/files/166778/Jenkins-Remote-Code-Execution.html(Third Party Advisory, VDB Entry)
- http://www.securityfocus.com/bid/107476(Broken Link, Third Party Advisory, VDB Entry)
- https://access.redhat.com/errata/RHSA-2019:0739(Third Party Advisory)
- https://jenkins.io/security/advisory/2019-03-06/#SECURITY-1336%20%281%29(Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2019-1003029(US Government Resource)
Schwachstellentyp
CWE-693: Protection Mechanism Failure
Die Schwachstelle im Jenkins Script Security Plugin stellt ein Versagen des Schutzmechanismus dar, bei dem die Groovy-Sandbox, die die Skriptausführungsfähigkeiten einschränken soll, von einem Angreifer umgangen werden kann. Die Sandbox soll verhindern, dass Pipeline-Skripte gefährliche Operationen wie Dateisystemzugriff, Ausführung von Systembefehlen oder Interaktion mit internen Jenkins-APIs durchführen. CVE-2019-1003029 ermöglicht es einem Angreifer, diese Einschränkungen zu umgehen und beliebigen Code mit den vollen Berechtigungen des Jenkins-Prozesses auszuführen.
Mehr erfahren: CWE-693 — Protection Mechanism Failure
Auswirkungsanalyse
CVE-2019-1003029 ist über das Netzwerk von jedem Benutzer mit Berechtigungen zur Konfiguration oder Ausführung von Jenkins-Pipeline-Skripten ausnutzbar, was sie zu einer kritischen Bedrohung in Umgebungen macht, in denen Jenkins für mehrere Benutzer oder Teams zugänglich ist. Die Sandbox-Umgehung ermöglicht es einem Angreifer, beliebigen Code auf dem Jenkins-Master-Server mit den vollen Berechtigungen des Jenkins-Prozesses auszuführen, der typischerweise mit erhöhten Berechtigungen läuft. Eine erfolgreiche Ausnutzung gefährdet die Vertraulichkeit aller in Jenkins gespeicherten Geheimnisse, einschließlich Anmeldedaten, API-Schlüssel und Deployment-Token. Die Integrität der gesamten CI/CD-Pipeline wird untergraben, da Angreifer Build-Artefakte modifizieren, schädlichen Code in Deployments einschleusen und Build-Ergebnisse manipulieren können. Das EPSS-Perzentil von etwa 99,7 % platziert diese Schwachstelle unter den am aktivsten ausgenutzten Jenkins-Lücken.
Exploit-Reifegrad
Die CISA hat die aktive Ausnutzung von CVE-2019-1003029 bestätigt, indem sie die Schwachstelle in den KEV-Katalog mit einer Behebungsfrist bis zum 16. Mai 2022 aufgenommen hat. Das EPSS-Perzentil von etwa 99,7 % deutet auf nahezu sichere Ausnutzungsaktivität hin und macht dies zu einer der am meisten ausgenutzten Jenkins-Schwachstellen. Sandbox-Bypass-Schwachstellen im Jenkins Script Security Plugin sind bei Angreifern besonders wertvoll, da sie direkten Zugang zu CI/CD-Infrastruktur, Quellcode, Build-Pipelines, Deployment-Anmeldedaten und Produktionsumgebungen bieten.
Behebung
-
Jenkins Script Security Plugin sofort aktualisieren, wie von der CISA gefordert: „Apply updates per vendor instructions.“ Aktualisieren Sie auf eine Version des Script Security Plugins, die die Sandbox-Bypass-Schwachstelle behebt. Überprüfen Sie die Plugin-Version auf allen Jenkins-Instanzen.
-
Pipeline-Skript-Berechtigungen einschränken durch Implementierung des Prinzips der minimalen Berechtigung für Jenkins-Benutzer. Begrenzen Sie, wer Pipeline-Skripte erstellen, ändern oder genehmigen kann, mithilfe von Jenkins-Autorisierungsstrategien wie matrixbasierter Sicherheit oder rollenbasierter Zugriffskontrolle (RBAC).
-
Skript-Genehmigungsworkflows aktivieren, indem das Script Security Plugin so konfiguriert wird, dass eine Administratorgenehmigung für alle Skripte erforderlich ist, die Sandbox-Ausnahmen anfordern. Überprüfen und auditieren Sie alle ausstehenden und genehmigten Skriptfreigaben.
-
Jenkins auf Kompromittierungsindikatoren überwachen, indem Jenkins-Systemprotokolle auf ungewöhnliche Skriptausführungsereignisse, unerwartete Prozesserstellung auf dem Jenkins-Master und Anzeichen für Zugriff auf oder Exfiltration von Anmeldedaten überprüft werden.
-
Jenkins-Master-Server isolieren von Produktionsumgebungen und sensibler Infrastruktur. Betreiben Sie den Jenkins-Master mit minimalen Betriebssystem-Berechtigungen, implementieren Sie Netzwerksegmentierung zwischen Jenkins und Produktionssystemen und verwenden Sie kurzlebige Build-Agents, um die Auswirkungen einer Kompromittierung zu begrenzen.
Technische Details
CVE-2019-1003029 ist ein Versagen des Schutzmechanismus (CWE-693) im Jenkins Script Security Plugin, das es Angreifern ermöglicht, die Groovy-Sandbox zu umgehen, die die Skriptausführungsfähigkeiten einschränken soll. Die Groovy-Sandbox funktioniert, indem sie Methodenaufrufe, Eigenschaftszugriffe und andere Operationen zur Laufzeit abfängt und gegen eine Whitelist genehmigter Operationen prüft, bevor die Ausführung zugelassen wird. Die Schwachstelle betrifft einen Fehler im Abfangmechanismus der Sandbox, der es einem Angreifer ermöglicht, spezifische Groovy-Ausdrücke oder Klassendefinitionen zu erstellen, die die Laufzeitprüfungen der Sandbox umgehen und direkten Zugriff auf Java-APIs und Betriebssystemfunktionalität ermöglichen. Diese Sandbox-Umgehung kann von jedem Benutzer mit der Berechtigung zur Definition von Jenkins-Pipeline-Skripten ausgelöst werden und wird mit den vollen Berechtigungen des Jenkins-Master-Prozesses ausgeführt.
Häufig gestellte Fragen
Wird CVE-2019-1003029 aktiv ausgenutzt?
Ja, CVE-2019-1003029 wird aktiv ausgenutzt. Die CISA hat diese Schwachstelle in den KEV-Katalog mit einer Behebungsfrist bis zum 16. Mai 2022 aufgenommen. Das EPSS-Perzentil von etwa 99,7 % bestätigt, dass dies eine der am aktivsten ausgenutzten Jenkins-Schwachstellen ist.
Welche Produkte sind von CVE-2019-1003029 betroffen?
CVE-2019-1003029 betrifft das Jenkins Script Security Plugin, das in Jenkins-Installationen zur Sandbox-Ausführung von Groovy-Skripten in Pipeline-Definitionen verwendet wird. Jede Jenkins-Instanz, die eine verwundbare Version des Script Security Plugins ausführt, ist gefährdet.
Wie behebe ich CVE-2019-1003029?
Aktualisieren Sie das Jenkins Script Security Plugin auf die neueste gepatchte Version. Beschränken Sie Pipeline-Skript-Berechtigungen auf vertrauenswürdige Administratoren, aktivieren Sie Skript-Genehmigungsworkflows und überwachen Sie Jenkins auf Kompromittierungsindikatoren.
Wie schwerwiegend ist CVE-2019-1003029?
CVE-2019-1003029 ist eine äußerst schwerwiegende Schwachstelle mit einem EPSS-Perzentil von etwa 99,7 %. Die Sandbox-Umgehung ermöglicht beliebige Codeausführung auf dem Jenkins-Master-Server und bietet Zugang zu allen Anmeldedaten, Build-Pipelines und Deployment-Infrastruktur, was sie zu einer kritischen Bedrohung für die Software-Supply-Chain-Sicherheit macht.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.