Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-28318-check — Sicher erkennen, ob ein SolarWinds Serv-U-Host anfällig für CVE-2026-28318 ist. | Kitploit
Tools/GitHubGitHub/bishopfox/cve-2026-28318-check
AufklärungSchwachstellenanalyseExploitationInformationsbeschaffungWebsicherheitPenetrationstests
GitHubbishopfox/cve-2026-28318-check

CVE-2026-28318-check

Sicher erkennen, ob ein SolarWinds Serv-U-Host anfällig für CVE-2026-28318 ist.

Repository anzeigen
226vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SolarWinds Serv-U Unauthenticated DoS: Sicheres Erkennungsskript

Ein sicheres, nicht-destruktives Erkennungswerkzeug für CVE-2026-28318, einen nicht authentifizierten Denial-of-Service in SolarWinds Serv-U <= 15.5.4.108. Ein einzelner POST, der Content-Encoding: deflate und einen Body übermittelt, füttert diesen Body an einen In-Memory-Deflate-Dekomprimierer (CZLibCompression), dessen Pufferverwaltung eine ungültige free() durchführt, wodurch der Serv-U-Dienstprozess abbricht. (CVSS 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-763.)

Dieses Skript stürzt das Ziel nicht ab. Es beantwortet eine Frage pro Host: Fehlt der 15.5.4 HF1-Fix? Das ist ein exakter Stellvertreter dafür, ob der Server anfällig für CVE-2026-28318 ist.

Ist es sicher auszuführen?

Ja. Das ist der ganze Sinn des Werkzeugs, und es ist sicher gegen die Produktion auszuführen:

  • Es sendet nie deflate. deflate ist der einzige Content-Encoding-Wert, der den verwundbaren Dekomprimierer startet. Das Skript sendet einen einzelnen POST mit einem harmlosen Content-Encoding: identity und einem kurzen Body, der nie den abstürzenden Codepfad erreicht.
  • Es ist eine differenzielle Prüfung, kein Exploit. Der HF1-Fix (Build 15.5.4.125) lehnt jede Anfrage ab, die einen Body und eine nicht leere Content-Encoding hat, mit 415 Unsupported Media Type. Verwundbare Builds haben keine solche Sperre und behandeln den identity-Probe normal. Das Urteil beruht also rein auf dem Statuscode, und der Dienst wird nie destabilisiert.
  • Es ist vorauthentifiziert und schreibgeschützt. Eine Anfrage, kein Login, kein geänderter Zielstatus.

Wie es funktioniert

Das Skript sendet einen sicheren POST an das Site-Root und liest den Statuscode:

identity-ProbeantwortUrteilBedeutung
Serv-U Server-Header, Status ≠ 415 (z.B. 401 / 404 / 200 / 302)VULNERABLE [missing-415-gate]Der HF1-415-Gate ist nicht vorhanden, daher Build <= 15.5.4.108, CVE-2026-28318 ungepatcht.
Serv-U Server-Header, Status = 415PATCHED [hf1-415-gate]HF1-Eingabevalidierungs-Gate vorhanden, daher Build >= 15.5.4.125. Nicht verwundbar.
Antwort erhalten, aber kein Serv-U Server-HeaderNOT-SERV-U [not-servu]Kein Serv-U-Server, oder ein Proxy hat den Header entfernt.
Keine verwertbare Antwort / VerbindungsfehlerERROR [no-response]Kein HTTP-Dienst erreichbar, gefiltert, TLS-Fehler oder Zeitüberschreitung.

Das Ziel wird anhand des Server-Headers in der Probeantwort als Serv-U identifiziert, daher ist keine separate Identifikationsanfrage nötig.

Es beweist, dass der Fix fehlt; es stürzt den Dienst nicht ab, um dies zu bestätigen. Ein VULNERABLE-Urteil bedeutet, dass der HF1-Eingabevalidierungs-Gate fehlt, was ein exakter Stellvertreter für diese CVE ist. Das Skript stoppt bewusst dort, anstatt den abstürzenden deflate-Wert zu senden.

Anforderungen

  • Python 3.7+, nur Standardbibliothek, ohne Drittanbieterpakete.

Verwendung

# single host (scheme defaults to https://)
./cve_2026_28318_check.py 10.0.0.5

# explicit URL / port
./cve_2026_28318_check.py https://10.0.0.5:443

# several hosts at once
./cve_2026_28318_check.py host-a:443 host-b https://host-c

# scan a list, one target per line ('#' comments allowed), compact output
./cve_2026_28318_check.py -f targets.txt --brief

# machine-readable output for pipelines
./cve_2026_28318_check.py -f targets.txt --json > results.json

Optionen

FlagBeschreibung
targetsEin oder mehrere HOST[:PORT] oder URL (Schema standardmäßig https://)
-t, --target TARGETEin Ziel hinzufügen (wiederholbar)
-f, --file FILEZiele aus einer Datei lesen (eine pro Zeile; #-Kommentare)
-b, --briefEine ausgerichtete Zeile pro Ziel, ideal zum Scannen vieler Hosts
--jsonStrukturierte JSON-Ergebnisse ausgeben
--no-colorFarbausgabe deaktivieren (beachtet auch NO_COLOR und Nicht-TTY)
--timeout SECSTimeout pro Probe (Standard: 10)
-v, --verboseGesendete Probe und die rohen Antwort-Header anzeigen

Beispiele

Ein verwundbarer Serv-U-Server (die Markierung [!] und VULNERABLE werden auf einem TTY rot dargestellt):

$ ./cve_2026_28318_check.py https://10.0.0.5
[!] https://10.0.0.5: VULNERABLE  [missing-415-gate]
      Serv-U returned 401 (not 415) to the identity probe, so the HF1 415 gate is ABSENT (build <= 15.5.4.108) and CVE-2026-28318 is unpatched. This proves the fix is missing; it does NOT crash the service. Apply 15.5.4 HF1 (build 15.5.4.125+).

Ein gepatchter Server gibt PATCHED zurück (der HF1-415-Gate hat auf die Identitätsprobe geantwortet):

$ ./cve_2026_28318_check.py https://10.0.0.6
[+] https://10.0.0.6: PATCHED  [hf1-415-gate]
      Serv-U returned 415 to the identity probe, so the 15.5.4 HF1 input-validation gate is present (build >= 15.5.4.125). Not vulnerable to CVE-2026-28318.

Eine Liste scannen, eine ausgerichtete Zeile pro Host (--brief). Exit-Status ist 1, wenn irgendein Host VULNERABLE ist, sonst 0, was in Skripten nützlich ist:

$ ./cve_2026_28318_check.py -f targets.txt --brief; echo "exit: $?"
VULNERABLE  https://10.0.0.5                 missing-415-gate
PATCHED     https://10.0.0.6                 hf1-415-gate
NOT-SERV-U  https://10.0.0.7                 not-servu
ERROR       https://10.0.0.8                 no-response
exit: 1

Maschinenlesbare Ausgabe für Pipelines (--json):

$ ./cve_2026_28318_check.py https://10.0.0.5 --json
[
  {
    "target": "https://10.0.0.5",
    "verdict": "VULNERABLE",
    "reason": "missing-415-gate",
    "detail": "Serv-U returned 401 (not 415) to the identity probe, so the HF1 415 gate is ABSENT (build <= 15.5.4.108) and CVE-2026-28318 is unpatched. This proves the fix is missing; it does NOT crash the service. Apply 15.5.4 HF1 (build 15.5.4.125+)."
  }
]

Urteile

UrteilGrund-TagBedeutung
VULNERABLEmissing-415-gateServ-U-Server ohne HF1-415-Gate, daher Build <= 15.5.4.108, CVE-2026-28318 ungepatcht. Sofort patchen.
PATCHEDhf1-415-gateServ-U-Server, der auf die Identitätsprobe mit 415 antwortet, daher ist der HF1-Fix vorhanden (Build >= 15.5.4.125).
NOT-SERV-Unot-servuHat geantwortet, aber kein Serv-U Server-Header; nicht Serv-U, oder ein Proxy hat ihn entfernt.
ERRORno-responseKeine verwertbare HTTP-Antwort (kein Dienst auf diesem Port, gefiltert, TLS-Fehler oder Zeitüberschreitung).
ERRORbad-targetDas Zielargument konnte nicht analysiert werden.

Exit-Codes

CodeBedeutung
0Kein Ziel war VULNERABLE
1Mindestens ein Ziel ist VULNERABLE
2Nutzungsfehler (ungültige Argumente / nicht lesbare Zieldatei)

Einschränkungen

  • Proxy / TLS-Terminierung. Ein Reverse-Proxy oder Load Balancer vor Serv-U kann den Server-Header entfernen (gemeldet als NOT-SERV-U) oder mit einem eigenen 415 antworten (möglicher falscher PATCHED). Richten Sie das Werkzeug direkt auf die Serv-U-Verwaltungsoberfläche, wo immer möglich.
  • Kein Absturztest. Ein VULNERABLE-Urteil beweist, dass der HF1-Eingabevalidierungs-Fix fehlt; es demonstriert nicht den Absturz (designbedingt). Dieser Gate ist ein exakter Stellvertreter für diese CVE.
  • TLS wird nicht überprüft. Serv-U-Verwaltungsoberflächen sind typischerweise selbstsigniert, daher validiert das Skript keine Zertifikate. Es bestätigt die Erreichbarkeit und liest den Status, nichts weiter.
  • Nur Erreichbarkeit. Ein Ergebnis spiegelt wider, was der Server von der Netzwerkposition aus zurückgibt, von der Sie es ausführen.

Abhilfe

Tool herunterladen