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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-93616-check — Sicherer, nicht authentifizierter Patch-Status-Prüfer für Check Point CPM RCE CVE-2026-93616; prüft den UpgradeSvcRemote SOAP-Login auf TCP 19009, ohne ihn auszunutzen. | Kitploit
Tools/GitHubGitHub/bishopfox/cve-2026-93616-check
DefensivwerkzeugeSchwachstellenscannerSchwachstellenanalyseExploitationNetzwerksicherheitPenetrationstestsRemote-Access-Tool
GitHub

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
bishopfox/cve-2026-93616-check

CVE-2026-93616-check

Sicherer, nicht authentifizierter Patch-Status-Prüfer für Check Point CPM RCE CVE-2026-93616; prüft den UpgradeSvcRemote SOAP-Login auf TCP 19009, ohne ihn auszunutzen.

Repository anzeigen
1vor 1 TagNoch nicht geprüft
Teilen

Check Point Security Management Unauthenticated RCE — Skript zur Schwachstellenerkennung

Eine unauthentifizierte Prüfung des Patch-Status für CVE-2026-93616, den unauthentifizierten Directory Traversal im Check Point Security Management (CPM)-Server, der Runtime.exec() erreicht, behoben in sk1000171 am 2026-09-22. CWE-22, CVSS 9.8 Kritisch (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), in freier Wildbahn ausgenutzt. Check Point ist die CNA; das Problem wurde durch In-the-Wild-Ausnutzung identifiziert und nicht durch einen externen Bericht.

Der CPM-Server stellt SOAP-Webdienste auf TCP 19009 bereit. Die UpgradeSvcRemote-Login- Methode loginAsApplicationReadOnlyPublicSession leitet ihren targetVersion-Parameter in einen Dateisystempfad weiter, der an Runtime.exec übergeben wird, ohne Validierung, sodass ein unauthentifizierter Aufrufer die Ausführung auf ein vom Angreifer gewähltes Skript umleiten kann. Der Fix fügt ein Bean- Validation-Muster zu targetVersion hinzu, das ein Pfadtrennzeichen ablehnt.

Das Skript meldet, ob dieser Fix auf jedem Ziel vorhanden ist. Es sendet ein illegales Zeichen in targetVersion, niemals eine Traversal-Sequenz, und authentifiziert sich nicht, lädt keine Datei hoch und führt nichts auf dem Ziel aus. Ein anderes Ergebnis als VULNERABLE bedeutet nicht für sich genommen, dass ein Ziel gepatcht ist; siehe Interpretation nicht-verwundbarer Ergebnisse.

End-of-Support-Builds werden explizit behandelt. Bei Zügen älter als R81.10 nimmt die Login-Methode weniger Parameter entgegen, sodass die primäre Sonde durch XML-Unmarshalling abgelehnt wird, bevor der Patch- Status gelesen werden kann. Wenn ein Check Point-Server die Sonde auf diese Weise ablehnt, sendet das Skript einen Folgeaufruf in der älteren Parameterform. Wenn die Login-Methode dann dispatcht, ist das Ziel ein betroffener Build, für den Check Point nie einen Fix veröffentlicht hat, und das Urteil lautet VULNERABLE mit dem Grund affected-eos-no-fix. Der Folgeaufruf enthält kein mode und kein targetVersion, sodass auch er nichts zu validieren und nichts zu traversieren sendet. Dies schließt eine Lücke, in der ein Legacy-Server andernfalls als nicht identifizierbar gelesen würde.

Verwendung

# single target (port defaults to 19009)
./cve_2026_93616_check.py mgmt.example.com

# explicit port
./cve_2026_93616_check.py mgmt.example.com:19009

# several targets
./cve_2026_93616_check.py mds-a.example.com mds-b.example.com

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

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

Python 3.8+, nur Standardbibliothek — keine Drittanbieter-Pakete.

Führen Sie das Tool gegen die Management-Server aus (Security Management, Multi-Domain Management, Log, Multi-Domain Log und SmartEvent), nicht gegen die Gateways. Die Prüfung zielt auf den CPM-SOAP-Listener auf TCP 19009, den die Gateways nicht betreiben.

Optionen

FlagBeschreibung
TARGETEin oder mehrere HOST[:PORT]-Ziele; der Port ist standardmäßig 19009
-f, --targets-file FILEZiele aus einer Datei lesen (eine pro Zeile; #-Kommentare)
-p, --port PORTStandardport, wenn ein Ziel keinen angibt (Standard: 19009)
--timeout SECSTimeout pro Sonde (Standard: 15)
--workers NGleichzeitige Ziele (Standard: 16); die Ausgabe bleibt in Eingabereihenfolge
-b, --briefEine ausgerichtete Zeile pro Ziel, zum Scannen vieler Hosts
--jsonStrukturiertes JSON ausgeben, einschließlich der Sondenmarker pro Ziel
--no-colorFarbige Ausgabe deaktivieren (berücksichtigt auch NO_COLOR und Nicht-TTY)

Beispiele

Verwundbarer Server (Standardausgabe; der [!]-Marker und VULNERABLE werden auf einem TTY rot angezeigt):

$ ./cve_2026_93616_check.py mgmt.example.com
[!] mgmt.example.com:19009: VULNERABLE  [dispatched-without-validation]
      loginAsApplicationReadOnlyPublicSession accepted an illegal targetVersion and dispatched it; the fix's input validation is absent

Gepatchter Server:

$ ./cve_2026_93616_check.py mgmt-dr.example.com
[+] mgmt-dr.example.com:19009: PATCHED  [validation-constraint-present]
      the server rejected an illegal targetVersion with the input-validation constraint added by the fix (Jumbo Hotfix R82.10 Take 45 or equivalent)

Ein Check Point-Management-Server, der geantwortet, aber die Login-Methode nicht dispatcht hat, sodass der Patch-Status nicht gelesen werden konnte:

$ ./cve_2026_93616_check.py log.example.com
[?] log.example.com:19009: INCONCLUSIVE  [cpm-no-dispatch]
      a Check Point management fault came back, but the UpgradeSvcRemote login method did not dispatch, so patch state could not be read

Mehrere Ziele mit --brief:

$ ./cve_2026_93616_check.py -f targets.txt --brief; echo "exit: $?"
VULNERABLE    mgmt.example.com:19009           dispatched-without-validation
PATCHED       mgmt-dr.example.com:19009        validation-constraint-present
INCONCLUSIVE  log.example.com:19009            cpm-no-dispatch
UNAFFECTED    web.example.com:19009            not-cpm
ERROR         offline.example.com:19009        unreachable
exit: 1

JSON-Ausgabe mit --json. Die Sondenmarker sind enthalten, damit das Urteil gegen das, was die Antwort tatsächlich enthielt, überprüft werden kann:

$ ./cve_2026_93616_check.py mgmt.example.com mgmt-dr.example.com --json
[
  {
    "target": "mgmt.example.com:19009",
    "verdict": "VULNERABLE",
    "reason": "dispatched-without-validation",
    "detail": "loginAsApplicationReadOnlyPublicSession accepted an illegal targetVersion and dispatched it; the fix's input validation is absent",
    "http_status": 500,
    "probe": {
      "http_status": 500,
      "saw_validation": false,
      "saw_dispatch": true,
      "saw_cpm": true,
      "note": ""
    }
  },
  {
    "target": "mgmt-dr.example.com:19009",
    "verdict": "PATCHED",
    "reason": "validation-constraint-present",
    "detail": "the server rejected an illegal targetVersion with the input-validation constraint added by the fix (Jumbo Hotfix R82.10 Take 45 or equivalent)",
    "http_status": 500,
    "probe": {
      "http_status": 500,
      "saw_validation": true,
      "saw_dispatch": true,
      "saw_cpm": true,
      "note": ""
    }
  }
]

Ist die Ausführung sicher?

Die Prüfung ist für die Verwendung gegen Produktionssysteme gedacht:

  • Sie authentifiziert sich nicht. Es wird keine Sitzung, keine Anmeldeinformation oder kein Client-Zertifikat vorgelegt. Sie beobachtet, wie der Server einen fehlerhaften Parameter behandelt, was vom installierten Build abhängt.
  • Sie sendet niemals eine Traversal-Sequenz. Die primäre Sonde setzt ein einzelnes illegales Zeichen (!) in targetVersion; dieses eine Zeichen reicht aus, um die Validierung des gepatchten Builds auszulösen, und es kann nicht wie ein Pfadtrennzeichen aus einem Verzeichnis entkommen. Die Legacy- Folgesonde enthält überhaupt kein targetVersion.
  • Sie führt nichts aus. Die primäre Sonde lässt das domainId-Element weg, sodass auf einem ungepatchten Server die Methode eine NullPointerException beim Aufbau ihrer Parameter auslöst, bevor ReflectionUtils Runtime.exec erreicht. Selbst ohne das löst der Sondenwert sich in ein Verzeichnis auf, das nicht existiert, sodass kein Skript ausgeführt werden kann. Die Legacy-Sonde sendet nur einen Anwendungsnamen und ein Timeout, sodass sie nichts hat, woraus sie einen Pfad bilden könnte.
  • Sie lädt keine Datei hoch. Die Dateischreib-Hälfte der Exploit-Kette verwendet einen anderen Dienst, den dieses Tool nie aufruft.
  • Sie öffnet eine TCP-Verbindung pro Sonde und schließt sie nach dem Lesen der Antwort.
Tool herunterladen