Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/bishopfox/cve-2026-28318-check
RicognizioneAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza WebPenetration Testing
GitHubbishopfox/cve-2026-28318-check

CVE-2026-28318-check

Rileva in sicurezza se un host SolarWinds Serv-U è vulnerabile a CVE-2026-28318

Vedi Repository
222 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
CVE-2026-28318-check — Rileva in sicurezza se un host SolarWinds Serv-U è vulnerabile a CVE-2026-28318 | Kitploit

SolarWinds Serv-U DoS non autenticato: Script di rilevamento sicuro

Un rilevatore sicuro, non distruttivo per CVE-2026-28318, un denial-of-service non autenticato in SolarWinds Serv-U <= 15.5.4.108. Un singolo POST che trasporta Content-Encoding: deflate e un corpo alimenta quel corpo a un decompressore deflate in memoria (CZLibCompression) la cui gestione del buffer esegue un free() non valido, interrompendo il processo del servizio Serv-U. (CVSS 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-763.)

Questo script non causa il crash del target. Risponde a una domanda per host: la correzione HF1 15.5.4 è assente? Questo è un proxy esatto per determinare se il server è vulnerabile a CVE-2026-28318.

È sicuro da eseguire?

Sì. Questo è l'intero scopo dello strumento ed è sicuro da eseguire contro la produzione:

  • Non invia mai deflate. deflate è l'unico valore Content-Encoding che avvia il decompressore vulnerabile. Lo script invia un singolo POST con un innocuo Content-Encoding: identity e un corpo breve, che non raggiunge mai il percorso del codice che causa il crash.
  • È un controllo differenziale, non un exploit. La correzione HF1 (build 15.5.4.125) rifiuta qualsiasi richiesta che abbia un corpo e un Content-Encoding non vuoto con 415 Unsupported Media Type. Le build vulnerabili non hanno tale blocco e gestiscono la sonda identity normalmente. Quindi il verdetto si basa esclusivamente sul codice di stato e il servizio non viene mai destabilizzato.
  • È pre-autenticazione e sola lettura. Una richiesta, nessun login, nessuno stato del target modificato.

Come funziona

Lo script invia un POST sicuro alla root del sito e legge il codice di stato:

Il target viene identificato come Serv-U dall'intestazione Server della risposta stessa, quindi non è necessaria una richiesta di identificazione separata.

Dimostra che la correzione è assente; non provoca il crash del servizio per confermarlo. Un verdetto VULNERABLE significa che il blocco di validazione input di HF1 è assente, che è un proxy esatto per questa CVE. Lo script si ferma deliberatamente qui anziché inviare il valore deflate che causa il crash.

Requisiti

  • Python 3.7+, solo libreria standard, nessun pacchetto di terze parti.

Utilizzo

root@kitploit:~
# singolo host (lo schema predefinito è https://)
./cve_2026_28318_check.py 10.0.0.5

# URL / porta esplicita
./cve_2026_28318_check.py https://10.0.0.5:443

# più host contemporaneamente
./cve_2026_28318_check.py host-a:443 host-b https://host-c

# scansione da un elenco, un target per riga (commenti '#' consentiti), output compatto
./cve_2026_28318_check.py -f targets.txt --brief

# output machine-readable per pipeline
./cve_2026_28318_check.py -f targets.txt --json > results.json

Opzioni

Esempi

Un server Serv-U vulnerabile (il marcatore [!] e VULNERABLE vengono visualizzati in rosso su un TTY):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5
[!] https://10.0.0.5: VULNERABLE  [missing-415-gate]
      Serv-U ha risposto con 401 (non 415) alla sonda identity, quindi il blocco 415 di HF1 è ASSENTE (build <= 15.5.4.108) e CVE-2026-28318 non è corretta. Questo dimostra che la correzione è assente; NON causa il crash del servizio. Applicare 15.5.4 HF1 (build 15.5.4.125+).

Un server corretto restituisce PATCHED (il blocco 415 di HF1 ha risposto alla sonda identity):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.6
[+] https://10.0.0.6: PATCHED  [hf1-415-gate]
      Serv-U ha risposto con 415 alla sonda identity, quindi il blocco di validazione input di 15.5.4 HF1 è presente (build >= 15.5.4.125). Non vulnerabile a CVE-2026-28318.

Scansione di un elenco, una riga allineata per host (--brief). Lo stato di uscita è 1 se qualsiasi host è VULNERABLE, altrimenti 0, utile negli script:

root@kitploit:~
$ ./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

Output machine-readable per pipeline (--json):

root@kitploit:~
$ ./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 ha risposto con 401 (non 415) alla sonda identity, quindi il blocco 415 di HF1 è ASSENTE (build <= 15.5.4.108) e CVE-2026-28318 non è corretta. Questo dimostra che la correzione è assente; NON causa il crash del servizio. Applicare 15.5.4 HF1 (build 15.5.4.125+)."
  }
]

Verdetti

Codici di uscita

CodiceSignificato
0Nessun target era VULNERABLE
1Almeno un target è VULNERABLE
2Errore di utilizzo (argomenti errati / file target illeggibile)

Limitazioni

  • Proxy / terminazione TLS. Un proxy inverso o un bilanciatore di carico davanti a Serv-U può rimuovere l'intestazione Server (segnalato come NOT-SERV-U) o rispondere con un proprio 415 (un possibile falso PATCHED). Puntare lo strumento direttamente all'interfaccia di gestione di Serv-U quando possibile.
  • Non è un test di crash. Un verdetto VULNERABLE dimostra che la correzione di validazione input HF1 è assente; non dimostra il crash (per progettazione). Quel blocco è un proxy esatto per questa CVE.
  • TLS non è verificato. Le interfacce di gestione di Serv-U sono tipicamente self-signed, quindi lo script non convalida i certificati. Conferma la raggiungibilità e legge lo stato, niente di più.
  • Solo raggiungibilità. Il risultato riflette ciò che il server restituisce dalla posizione di rete da cui si esegue lo script.

Remediation

Aggiornare a SolarWinds Serv-U 15.5.4 Hotfix 1 (build 15.5.4.125) o successivo, che aggiunge il blocco di validazione input che rifiuta una richiesta con sia un corpo che un Content-Encoding non vuoto. Fino a quando non è possibile applicare la patch, limitare l'accesso di rete al servizio Serv-U a fonti fidate.

Licenza

Questo codice è distribuito sotto una licenza MIT.

Disclaimer legale

L'uso di questo strumento per attaccare target senza previo consenso reciproco è illegale. È responsabilità dell'utente finale rispettare tutte le leggi locali, statali e federali applicabili. Gli sviluppatori non si assumono alcuna responsabilità e non sono responsabili per qualsiasi uso improprio o danno causato da questo programma.

Vedi anche

  • NVD: CVE-2026-28318
  • MITRE: CVE-2026-28318
Scarica lo strumento
Risposta sonda identityVerdettoSignificato
Intestazione Server Serv-U, stato ≠ 415 (es. 401 / 404 / 200 / 302)VULNERABLE [missing-415-gate]Il blocco 415 di HF1 è assente, quindi build <= 15.5.4.108, CVE-2026-28318 non corretto.
Intestazione Server Serv-U, stato = 415PATCHED [hf1-415-gate]Blocco di validazione input HF1 presente, quindi build >= 15.5.4.125. Non vulnerabile.
Ha risposto, ma nessuna intestazione Server Serv-UNOT-SERV-U [not-servu]Non è un server Serv-U, oppure un proxy ha rimosso l'intestazione.
Nessuna risposta utilizzabile / errore di connessioneERROR [no-response]Nessun servizio HTTP raggiungibile, filtrato, errore TLS o timeout.
FlagDescrizione
targetsUno o più HOST[:PORT] o URL (lo schema predefinito è https://)
-t, --target TARGETAggiungi un target (ripetibile)
-f, --file FILELeggi target da un file (uno per riga; commenti #)
-b, --briefUna riga allineata per target, ideale per scansionare molti host
--jsonEmetti risultati JSON strutturati
--no-colorDisabilita output colorato (rispetta anche NO_COLOR e non-TTY)
--timeout SECSTimeout per sonda (default: 10)
-v, --verboseMostra la sonda inviata e le intestazioni della risposta grezze
VerdettoEtichetta motivoSignificato
VULNERABLEmissing-415-gateServer Serv-U senza blocco 415 di HF1, quindi build <= 15.5.4.108, CVE-2026-28318 non corretta. Correggere immediatamente.
PATCHEDhf1-415-gateServer Serv-U che risponde alla sonda identity con 415, quindi la correzione HF1 è presente (build >= 15.5.4.125).
NOT-SERV-Unot-servuHa risposto, ma nessuna intestazione Server Serv-U; non è Serv-U, oppure un proxy l'ha rimossa.
ERRORno-responseNessuna risposta HTTP utilizzabile (nessun servizio su quella porta, filtrato, errore TLS o timeout).
ERRORbad-targetL'argomento del target non può essere analizzato.