CVE-2017-1000353
Jenkins Remote Code Execution Vulnerability
Beschreibung
CVE-2017-1000353 ist eine kritische Deserialisierungsschwachstelle in Jenkins, einer der am weitesten verbreiteten CI/CD-Plattformen. Die Schwachstelle ermoeglicht einem nicht authentifizierten Angreifer die Ausfuehrung beliebigen Codes auf dem Jenkins-Server durch das Senden eines speziell praeparierten serialisierten Java-SignedObject-Objekts an die Jenkins CLI. Dieses Objekt umgeht den bestehenden Blacklist-basierten Schutzmechanismus und wird mittels eines neuen ObjectInputStream deserialisiert.
Die Schwachstelle wird mit einem CVSS v3.1-Score von 9.8 (CRITICAL) bewertet und erfordert keinerlei Authentifizierung. Die CISA hat CVE-2017-1000353 in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 23. Oktober 2025. Der EPSS-Score von 94.51 % (100. Perzentil) zeigt die hoechstmoegliche Ausnutzungswahrscheinlichkeit an -- Jenkins-Instanzen ohne Patch sind einem extremen Risiko ausgesetzt.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| jenkins | jenkins | <= 2.56; <= 2.46.1 |
| oracle | communications cloud native core automated test suite | 1.9.0 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- http://packetstormsecurity.com/files/159266/Jenkins-2.56-CLI-Deserialization-Code-Execution.html(Permissions Required, Third Party Advisory, VDB Entry)
- http://www.securityfocus.com/bid/98056(Broken Link)
- https://jenkins.io/security/advisory/2017-04-26/(Vendor Advisory)
- https://www.exploit-db.com/exploits/41965/(Exploit, Third Party Advisory, VDB Entry)
- https://www.oracle.com/security-alerts/cpuapr2022.html(Patch, Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2017-1000353(US Government Resource)
Schwachstellentyp
CWE-502: Deserialisierung nicht vertrauenswuerdiger Daten
CVE-2017-1000353 basiert auf CWE-502 (Deserialisierung nicht vertrauenswuerdiger Daten), einer der schwerwiegendsten Schwachstellenklassen in Java-basierten Anwendungen. Bei dieser Schwachstellenklasse deserialisiert eine Anwendung Daten aus einer nicht vertrauenswuerdigen Quelle, ohne ausreichend zu ueberpruefen, dass die resultierenden Objekte sicher sind. Im Fall von Jenkins wird ein manipuliertes SignedObject ueber die CLI-Schnittstelle eingereicht, das den bestehenden Blacklist-Mechanismus umgeht und bei der Deserialisierung beliebigen Code ausfuehrt.
Mehr erfahren: CWE-502 -- Deserialisierung nicht vertrauenswuerdiger Daten
Auswirkungsanalyse
Die Auswirkungen von CVE-2017-1000353 sind fuer Organisationen, die Jenkins einsetzen, besonders gravierend. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H zeigt, dass die Schwachstelle ohne Authentifizierung ueber das Netzwerk mit niedriger Komplexitaet und ohne Benutzerinteraktion ausnutzbar ist. Vertraulichkeit (Hoch): Jenkins-Server enthalten haeufig Zugangsdaten fuer Quellcodeverwaltung, Cloud-Infrastruktur, Datenbanken und Deployment-Systeme. Ein Angreifer mit Code-Ausfuehrung auf dem Jenkins-Server erhaelt Zugriff auf saemtliche in Jenkins gespeicherten Credentials und Build-Artefakte. Integritaet (Hoch): Der Angreifer kann Build-Pipelines manipulieren, schadhaften Code in Software-Builds einschleusen und Supply-Chain-Angriffe durchfuehren. Verfuegbarkeit (Hoch): Der Angreifer kann den Jenkins-Dienst stoppen oder das System vollstaendig kompromittieren. Der EPSS-Score von 94.51 % im 100. Perzentil bedeutet, dass CVE-2017-1000353 die hoechstmoegliche Ausnutzungswahrscheinlichkeit aufweist.
Exploit-Reifegrad
CVE-2017-1000353 weist eine extrem hohe Exploit-Reife auf. Oeffentlicher Exploit-Code ist verfuegbar ueber Exploit-DB (41965) sowie ueber einen Deserialization Code Execution Exploit auf Packet Storm Security. Die CISA hat die aktive Ausnutzung in freier Wildbahn bestaetigt und die Schwachstelle in den KEV-Katalog aufgenommen. Der EPSS-Score von 94.51 % (100. Perzentil) ist der hoechstmoegliche Wert und zeigt an, dass diese Schwachstelle zu den am intensivsten angegriffenen weltweit gehoert. Jenkins hat als Reaktion SignedObject zur Deserialisierungs-Blacklist hinzugefuegt und das neue HTTP-CLI-Protokoll auf die LTS-Version 2.46.2 zurueckportiert. Der Ransomware-Status ist als Unknown klassifiziert.
Behebung
-
Jenkins umgehend aktualisieren: Aktualisieren Sie Jenkins auf Version 2.57 oder hoeher bzw. LTS auf Version 2.46.2 oder hoeher. Diese Versionen enthalten den Fix, der SignedObject zur Deserialisierungs-Blacklist hinzufuegt. Folgen Sie den Anweisungen im Jenkins Security Advisory 2017-04-26.
-
Remoting-basiertes CLI-Protokoll deaktivieren: Deaktivieren Sie das veraltete Remoting-basierte CLI-Protokoll, das Java-Serialisierung verwendet. Ab Jenkins 2.54 ist das neue HTTP-basierte CLI-Protokoll verfuegbar, das nicht von Deserialisierungsschwachstellen betroffen ist. Stellen Sie sicher, dass das alte Protokoll in der Jenkins-Konfiguration explizit deaktiviert ist.
-
Netzwerkzugriff beschraenken: Stellen Sie sicher, dass der Jenkins-Server nicht direkt aus dem Internet erreichbar ist. Platzieren Sie Jenkins hinter einem VPN oder Reverse Proxy mit Authentifizierung. Beschraenken Sie den Zugriff auf die CLI-Schnittstelle auf vertrauenswuerdige Netzwerke.
-
Credentials rotieren: Da Jenkins-Server haeufig als Credentials-Speicher fuer CI/CD-Pipelines dienen, rotieren Sie alle in Jenkins gespeicherten Zugangsdaten nach der Aktualisierung. Pruefen Sie Build-Logs und Artefakte auf Anzeichen einer Kompromittierung.
-
Jenkins-Haertung umsetzen: Aktivieren Sie die Jenkins-eigenen Sicherheitsfunktionen wie Script Security, Skript-Genehmigungen und Agent-to-Master Access Control. Implementieren Sie rollenbasierte Zugriffskontrolle und beschraenken Sie administrative Privilegien auf das notwendige Minimum.
Technische Details
CVE-2017-1000353 betrifft die CLI-Schnittstelle von Jenkins und dessen Deserialisierungsmechanismus. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H zeigt, dass der Angriff ueber das Netzwerk (AV:N) mit niedriger Komplexitaet (AC:L) und ohne jegliche Authentifizierung (PR:N) oder Benutzerinteraktion (UI:N) durchfuehrbar ist.
Die Schwachstelle liegt im Remoting-basierten CLI-Protokoll von Jenkins, das Java-Serialisierung fuer die Kommunikation verwendet. Jenkins implementierte einen Blacklist-basierten Schutz, der bekannte gefaehrliche Klassen von der Deserialisierung ausschliesst. Die Schwachstelle umgeht diesen Schutz, indem ein SignedObject als Wrapper verwendet wird. Da SignedObject nicht auf der Blacklist steht, wird es akzeptiert und mittels eines neuen ObjectInputStream deserialisiert -- wobei die Blacklist-Pruefung umgangen wird. Der im SignedObject eingebettete Payload kann dann eine beliebige Gadget Chain ausloesen, die zur Code-Ausfuehrung fuehrt.
Betroffen sind Jenkins-Versionen bis einschliesslich 2.56 und Jenkins LTS bis einschliesslich 2.46.1. Darueber hinaus ist Oracle Communications Cloud Native Core Automated Test Suite in Version 1.9.0 betroffen, das Jenkins als Komponente einbettet.
Häufig gestellte Fragen
Wird CVE-2017-1000353 aktiv ausgenutzt?
Ja, CVE-2017-1000353 wird aktiv ausgenutzt. Die CISA hat die Schwachstelle in den KEV-Katalog aufgenommen. Oeffentlicher Exploit-Code ist ueber Exploit-DB und Packet Storm Security verfuegbar. Der EPSS-Score von 94.51 % im 100. Perzentil zeigt die hoechstmoegliche Ausnutzungswahrscheinlichkeit an.
Welche Produkte sind von CVE-2017-1000353 betroffen?
Betroffen sind Jenkins in Versionen bis 2.56 und Jenkins LTS bis 2.46.1. Zusaetzlich ist Oracle Communications Cloud Native Core Automated Test Suite in Version 1.9.0 betroffen. Alle Instanzen, die das Remoting-basierte CLI-Protokoll aktiviert haben, sind verwundbar.
Wie behebe ich CVE-2017-1000353?
Aktualisieren Sie Jenkins auf Version 2.57 oder hoeher bzw. LTS auf Version 2.46.2 oder hoeher. Deaktivieren Sie das veraltete Remoting-basierte CLI-Protokoll und verwenden Sie stattdessen das HTTP-basierte CLI-Protokoll. Rotieren Sie alle in Jenkins gespeicherten Zugangsdaten nach der Aktualisierung.
Wie schwerwiegend ist CVE-2017-1000353?
CVE-2017-1000353 ist mit einem CVSS-Score von 9.8 als CRITICAL eingestuft. Die Schwachstelle ermoeglicht unauthentifizierte Remote Code Execution auf dem Jenkins-Server. Der EPSS-Score von 94.51 % im 100. Perzentil macht sie zu einer der am staerksten ausgenutzten Schwachstellen weltweit.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.