CVE-2020-0618
Microsoft SQL Server Reporting Services Remote Code Execution Vulnerability
Beschreibung
CVE-2020-0618 ist eine schwerwiegende Remote Code Execution-Schwachstelle in Microsoft SQL Server Reporting Services (SSRS). Die Schwachstelle entsteht durch fehlerhafte Verarbeitung von Seitenanfragen und ermoeglicht es einem authentifizierten Angreifer, beliebigen Code auf dem Server auszufuehren. Mit einem CVSS-Score von 8.8 (HIGH) und einem EPSS-Score von 94,25 % (99,9. Perzentil) stellt diese Schwachstelle ein erhebliches Risiko dar. Die CISA hat CVE-2020-0618 in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 09. Oktober 2024. Betroffen sind Microsoft SQL Server 2012, 2014 und 2016.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| microsoft | sql server | 2012; 2014; 2016 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:L/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/156707/SQL-Server-Reporting-Services-SSRS-ViewState-Deserialization.html(Exploit, Third Party Advisory, VDB Entry)
- http://packetstormsecurity.com/files/159216/Microsoft-SQL-Server-Reporting-Services-2016-Remote-Code-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0618(Patch, Vendor Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-0618(US Government Resource)
Schwachstellentyp
Fuer CVE-2020-0618 wurde keine spezifische CWE-Klassifikation zugewiesen. Die Schwachstelle basiert auf einer unsicheren Deserialisierung im ViewState-Mechanismus von SQL Server Reporting Services (SSRS). SSRS verwendet ASP.NET ViewState zur Zustandsverwaltung, und bei fehlerhafter Konfiguration oder bekannten Validierungsschluesseln kann ein Angreifer manipulierte serialisierte Objekte einschleusen, die bei der Deserialisierung auf dem Server beliebigen Code ausfuehren.
Auswirkungsanalyse
Remote Code Execution auf dem SQL Server: CVE-2020-0618 ermoeglicht die Ausfuehrung beliebigen Codes im Kontext des SQL Server Reporting Services-Dienstes. Vertraulichkeit (C:H) bedeutet Zugriff auf alle Berichte, Datenquellen-Verbindungsstrings (einschliesslich Datenbank-Credentials) und gespeicherte Daten. Integritaet (I:H) erlaubt das Manipulieren von Berichten, das Aendern von Datenbankverbindungen und das Einschleusen von Schadcode. Verfuegbarkeit (A:H) gibt dem Angreifer die Kontrolle ueber den Reporting-Dienst und potenziell den gesamten SQL Server.
Authentifizierung erforderlich, aber niedrigschwellig: Der CVSS-Vektor zeigt, dass niedrige Privilegien (PR:L) erforderlich sind. In vielen Unternehmensumgebungen haben zahlreiche Mitarbeiter Zugriff auf SSRS-Berichte, was die Ausnutzung erleichtert. Die netzwerkbasierte Ausnutzung (AV:N) mit niedriger Komplexitaet (AC:L) und ohne Benutzerinteraktion (UI:N) macht den Angriff praktisch durchfuehrbar.
EPSS und Ransomware-Risiko: Der EPSS-Score von 94,25 % (99,9. Perzentil) ist extrem hoch und zeigt, dass diese Schwachstelle aktiv und breit ausgenutzt wird. Der Ransomware-Status ist als Unknown klassifiziert, jedoch bietet der Zugang zu einem SQL Server eine ideale Ausgangsposition fuer Ransomware-Angriffe auf Unternehmensdaten.
Exploit-Reifegrad
CVE-2020-0618 weist eine sehr hohe Exploit-Reife auf. Es existieren mehrere oeffentliche Exploits, darunter detaillierte Proof-of-Concept-Implementierungen auf Packet Storm Security sowie ein SSRS 2016-spezifischer Exploit.
KEV-Status: Die CISA hat diese Schwachstelle in den Known Exploited Vulnerabilities-Katalog aufgenommen, was eine bestaetigte aktive Ausnutzung in freier Wildbahn belegt. Die Behebungsfrist wurde auf den 09. Oktober 2024 festgesetzt.
EPSS-Kontext: Mit einem EPSS-Score von 94,25 % (99,9. Perzentil) liegt CVE-2020-0618 im absolut obersten Bereich der am wahrscheinlichsten ausgenutzten Schwachstellen. Die Verfuegbarkeit funktionsfaehiger oeffentlicher Exploits traegt massgeblich zu diesem hohen Score bei.
Ransomware-Verbindung: Der Ransomware-Status ist Unknown. Die Kombination aus SQL Server-Zugang und Code-Ausfuehrung bietet Angreifern jedoch direkten Zugriff auf Unternehmensdatenbanken, was diese Schwachstelle besonders attraktiv fuer datenbasierte Erpressung macht.
Behebung
- Microsoft-Sicherheitsupdate installieren: Installieren Sie umgehend das Sicherheitsupdate von Microsoft, das ueber das Microsoft Security Response Center verfuegbar ist. Dieses Update behebt die ViewState-Deserialisierungs-Schwachstelle in SSRS fuer SQL Server 2012, 2014 und 2016.
- SSRS-Zugriff einschraenken: Beschraenken Sie den Netzwerkzugriff auf SQL Server Reporting Services auf autorisierte Benutzer und Netzwerksegmente. SSRS sollte nicht direkt aus dem Internet erreichbar sein. Verwenden Sie Firewallregeln und VPN-Zugang, um den Zugriff auf vertrauenswuerdige Netzwerke zu begrenzen.
- ViewState-Validierung pruefen: Stellen Sie sicher, dass die ASP.NET ViewState-Validierung korrekt konfiguriert ist und individuelle Validierungsschluessel verwendet werden. Standard- oder vorhersagbare machineKey-Werte in der web.config erhoehen das Risiko erheblich.
- SSRS-Berechtigungen ueberpruefen: Fuehren Sie eine Ueberpruefung der SSRS-Benutzerberechtigungen durch und entfernen Sie nicht mehr benoetigte Zugriffsrechte. Implementieren Sie das Prinzip der geringsten Berechtigung (Least Privilege) fuer alle SSRS-Zugriffe.
- SQL Server auf Kompromittierung pruefen: Falls SSRS vor der Patch-Installation aus dem Netzwerk erreichbar war, pruefen Sie den SQL Server und das Betriebssystem auf Anzeichen einer Kompromittierung. Untersuchen Sie SSRS-Logs, Windows-Ereignisprotokolle und die SQL Server-Audit-Logs auf verdaechtige Aktivitaeten.
Technische Details
Die Schwachstelle liegt in der ViewState-Deserialisierung von Microsoft SQL Server Reporting Services (SSRS). SSRS basiert auf ASP.NET und verwendet den ViewState-Mechanismus zur Speicherung des Seitenzustands zwischen HTTP-Anfragen. Der ViewState wird als serialisiertes Objekt im HTML-Formular an den Client gesendet und bei nachfolgenden Anfragen zurueck an den Server uebermittelt.
CVSS-Vektor im Detail: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Der Angriff erfolgt netzwerkbasiert (AV:N) mit niedriger Komplexitaet (AC:L). Es sind niedrige Privilegien (PR:L) erforderlich, typischerweise ein normaler SSRS-Benutzerzugang. Keine Benutzerinteraktion (UI:N) ist noetig. Der Scope ist unveraendert (S:U), aber alle drei Schutzziele sind maximal betroffen (C:H/I:H/A:H).
Angriffsmechanismus: Ein Angreifer mit gueltigem SSRS-Zugang manipuliert den ViewState-Parameter in HTTP-Anfragen an SSRS. Wenn die ViewState-Validierung unzureichend ist oder der machineKey bekannt ist, kann der Angreifer ein speziell praepariertes serialisiertes .NET-Objekt einschleusen. Bei der Deserialisierung auf dem Server wird der eingebettete Code ausgefuehrt, typischerweise im Kontext des SSRS-Dienstkontos. Die oeffentlich verfuegbaren Exploits nutzen Tools wie ysoserial.net zur Erzeugung der manipulierten ViewState-Payloads.
Häufig gestellte Fragen
Welche SQL Server-Versionen sind betroffen?
CVE-2020-0618 betrifft Microsoft SQL Server 2012, 2014 und 2016 mit aktivierten SQL Server Reporting Services (SSRS). Neuere Versionen wie SQL Server 2017 und 2019 sind nicht betroffen. Pruefen Sie Ihre installierte SQL Server-Version und den SSRS-Status in der SQL Server-Konfiguration.
Ist SSRS in meiner SQL Server-Installation aktiviert?
SSRS ist eine optionale Komponente von SQL Server und wird nicht automatisch bei jeder Installation aktiviert. Pruefen Sie im SQL Server Configuration Manager, ob der Dienst "SQL Server Reporting Services" laeuft. Falls SSRS nicht benoetigt wird, kann die Deaktivierung als sofortige Schutzmassnahme dienen.
Wie funktioniert der ViewState-Deserialisierungs-Angriff?
ASP.NET ViewState speichert den Seitenzustand als serialisiertes Objekt. Ein Angreifer erstellt einen manipulierten ViewState mit eingebettetem Schadcode und sendet diesen an den SSRS-Server. Wenn der Server den ViewState deserialisiert, wird der Schadcode ausgefuehrt. Die Exploits verwenden bekannte .NET-Deserialisierungs-Gadgets (z.B. ueber ysoserial.net).
Kann ein normaler Berichtsbenutzer diese Schwachstelle ausnutzen?
Ja, jeder Benutzer mit gueltigem SSRS-Zugriff kann die Schwachstelle potenziell ausnutzen. Der CVSS-Vektor gibt niedrige Privilegien (PR:L) an, was bedeutet, dass selbst ein Standard-Berichtsleser ausreichende Zugriffsrechte hat. Dies unterstreicht die Dringlichkeit des Patches.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.