Updates verfügbar: 07.07.2021
Microsoft hat außerplanmäßig das Update KB5004945 und andere Updates bereitgestellt. Stand 8.7. auch für Server 2016 und alte Windows 10 Versionen. Diese schließen die Print Nightmare Lücke. Die Updates werden allerdings nur für alle Produkte, die noch nicht „end of life“ sind, unterstützt (auch wenn in der Liste Fixes für ältere Betriebssysteme gelistet werden). Windows 7 PCs und Server 2008 R2 bleiben damit grundsätzlich ungeschützt, es sei denn man hat das ESU (extended Support Abo) gebucht. Auf diesen Systemen sollte kein Druckdienst gestartet sein. Wer Sitzungsdrucker unter RDP oder Citrix über den Windows Druckserver auf Server 2008 R2 Basis betreibt, sollte jetzt erst recht über eine Cloud Migration (bei IaaS Installation auf Azure 2019 Servern) nachdenken. Denn dort werden in der Regel nur Betriebssysteme eingesetzt, die aktuell bzw im erweiterten Support sind.
Zusätzlich wichtig (weil sich die Lücke sonst trotz Patches ausnutzen lässt):
In der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint sicherstellen, dass die folgenden Einträge nicht vorhanden – standardmäßig der Fall – beziehungsweise deaktiviert sind:
- NoWarningNoElevationOnInstall = 0 (DWORD) oder nicht vorhanden
- UpdatePromptSettings = 0 (DWORD) oder nicht vorhanden
In allen #Windows Betriebssystemen (für Clients und Server) steckt eine neue #Sicherheitslücke, die bisher noch nicht geschlossen wurde. Betroffen sind alle Server und auch PCs und Notebooks, wo der Dienst „Druckwarteschlange“ gestartet ist. Damit kann ein Angreifer ohne Adminrechte schadhafte Bibliotheken und Schadcode in das System schleusen (und ausführen). Microsoft stuft die Lücke als kritisch ein und empfiehlt den #Druckspooler (Druckwarteschlange) Dienst zu deaktivieren – was nicht zielführend ist. Schließlich kann dann nicht mehr über den Server gedruckt werden.
Update: Mittlerweile hat Microsoft die Lücke als kritisch auf einer Skala von 1 bis 10 mit 8.1 eingestuft. Mit einem offiziellen Patch ist nicht vor nächstem Dienstag, dem Juli-Patchday 2021 zu rechnen.
Ursprünglicher Artikel
In allen #Windows Betriebssystemen (für Clients und Server) steckt eine neue #Sicherheitslücke, die bisher noch nicht geschlossen wurde. Damit kann ein Angreifer ohne Adminrechte schadhafte Bibliotheken und Schadcode in das System schleusen (und ausführen). Microsoft stuft die Lücke als kritisch ein und empfiehlt den #Druckspooler (Druckwarteschlange) Dienst zu deaktivieren – was nicht zielführend ist. Schließlich kann dann nicht mehr über den Server gedruckt werden.
Funktionsweise eines Angriffs
Im Prinzip stehen einem Angreifer an jedem Gerät Angriffspunkte zur Verfügung, wo der Druckerwarteschlangen Dienst läuft. Das ist ab Werk auf allen Windows Clients – unabhängig von der Version der Fall und auf Druckservern. Wie ein Angreifer diese Geräte erreicht, steht auf einem anderen Blatt – meistens indem er Benutzer in Mails oder Webseiten auffordert, auf irgendwas zu klicken. Das angeklickte Schadprogramm wird dann im Benutzerkontext ausgeführt und greift als erstes alle Systeme an, wo der Druckdienst läuft. Hier werden dann Schadprogramme injiziert und verschlüsseln zB alle Daten.
Bis zum Patchday bzw. bis ein Fix zur Verfügung steht, ist es also eine Risikoabwägung, ob man den Workaround nutzt und nachher wieder deaktiviert (auch hier können Nebenwirkungen entstehen) oder das Risiko eingeht, dass etwas eingeschleust wird.
Möglicher Workaround
Es gibt aber auch einen Workaround, der den Zugriff auf den Druckserver sperrt. Damit soll weiterhin gedruckt werden können. Möchte man eine Konfigurations-Änderung am Druckserver vornehmen (also zum Beispiel einen neuen Drucker installieren oder eine Einstellung ändern), muss man die Änderung wieder zurücknehmen. Das Ganze gilt, solange bis Microsoft einen Notfall Patch liefert.
Die benötigten (administrativen) Powershell-Skripte hier (Benutzung auf eigenes Risiko, Nebenwirkungen sind nicht ausgeschlossen)
$Path = "C:\Windows\System32\spool\drivers" $Acl = (Get-Item $Path).GetAccessControl('Access') $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("System", "Modify", "ContainerInherit, ObjectInherit", "None", "Deny") $Acl.AddAccessRule($Ar) Set-Acl $Path $Acl
und zum Deaktivieren der Sperre:
$Path = "C:\Windows\System32\spool\drivers" $Acl = (Get-Item $Path).GetAccessControl('Access') $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("System", "Modify", "ContainerInherit, ObjectInherit", "None", "Deny") $Acl.RemoveAccessRule($Ar) Set-Acl $Path $Acl
Fix for PrintNightmare CVE-2021-34527 exploit to keep your Print Servers running while a patch is not available
Fabio Viggiani, Blog-Artikel
Kommentare