
Proof-of-concept für CVE-2026-4480, eine Samba-Druckjobnamen-Befehlsinjektions-Schwachstelle. Demonstriert die Ausnutzung über bösartige Druckjobnamen und enthält Anleitungen zur Erkennung und Abwehr.
CVE-2026-4480 ist eine Befehlsinjektions-Schwachstelle, die bestimmte Samba-Druckkonfigurationen betrifft, die externe Druckbefehle verwenden.
Die Schwachstelle besteht darin, dass Samba vom Benutzer kontrollierte Druckauftragsmetadaten in einen Shell-Befehl einfügt, ohne Shell-Metazeichen ordnungsgemäß zu maskieren. Unter bestimmten Konfigurationen kann ein Angreifer einen bösartigen Druckauftragsnamen bereitstellen, der die Ausführung beliebiger Befehle auf dem Server verursacht.
Das Problem ist besonders gefährlich, da einige Druckerfreigaben Gastzugriff erlauben, was eine Ausnutzung ohne Authentifizierung ermöglicht.
Samba unterstützt mehrere Druck-Backends. Eine veraltete Option, allgemein als SysV-Druck bezeichnet, führt bei Abschluss eines Druckauftrags einen externen Befehl aus.
Administratoren können Befehle mit Substitutionsmakros wie folgt konfigurieren:
print command = /usr/local/bin/print-helper %s %J
Wobei:
%s → Pfad zur Spool-Datei%J → Vom Client bereitgestellter DruckauftragsnameVor dem Fix wurde der %J-Wert einer minimalen Bereinigung unterzogen, bevor er in einen über die System-Shell ausgeführten Befehl eingefügt wurde.
Da Shell-Metazeichen intakt blieben, konnten speziell erstellte Auftragsnamen den beabsichtigten Befehlsablauf verändern und vom Angreifer kontrollierte Anweisungen ausführen.
Ein typischer Angriff besteht aus vier Phasen:
Wenn der Druckbefehl %J referenziert, wird die Nutzlast des Angreifers Teil des Shell-Befehls und wird mit den Berechtigungen des Samba-Druckprozesses ausgeführt.
Nicht jede Samba-Installation ist angreifbar.
Die folgenden Bedingungen müssen im Allgemeinen erfüllt sein:
%J.Moderne Bereitstellungen mit CUPS-basiertem Drucken setzen diesen Angriffsweg nicht aus, da Aufträge über die CUPS-API statt über einen Shell-Befehl übergeben werden.
Eine erfolgreiche Ausnutzung kann es einem Angreifer ermöglichen:
Der Schweregrad hängt stark von den Berechtigungen des Druckprozesses und der umgebenden Systemkonfiguration ab.
Betroffene Versionen umfassen Versionen vor:
Systeme mit neueren Versionen sind von diesem Problem nicht betroffen.
Empfohlene Abhilfemaßnahmen umfassen:
%J aus Druckbefehlen entfernen, falls nicht erforderlich.printing = cups migrieren.Verteidiger sollten Folgendes untersuchen:
smbd, das unerwartet Shell-Interpreter startetsh
bash
python
perl
nc
curl
wget
Die Überwachung der Prozesserstellung aus dem Samba-Dienst kann helfen, Ausnutzungsversuche zu identifizieren.
Dieses Repository ist ausschließlich für Bildungszwecke und autorisierte Sicherheitsforschung bestimmt.
Verwenden Sie diesen Code nicht gegen Systeme, Netzwerke oder Dienste ohne ausdrückliche Genehmigung des Eigentümers. Unbefugter Zugriff auf Computersysteme ist illegal und unethisch.
Führen Sie Tests stets in isolierten Laborumgebungen oder Plattformen durch, die speziell für Sicherheitsschulungen konzipiert sind.