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-2025-56380 — È stata scoperta una vulnerabilità di SQL injection in Frappe Framework v15.72.4, tramite il parametro fieldname nell'endpoint API frappe.client.get_value. | Kitploit
Strumenti/GitHubGitHub/moalali/cve-2025-56380
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubmoalali/cve-2025-56380

CVE-2025-56380

È stata scoperta una vulnerabilità di SQL injection in Frappe Framework v15.72.4, tramite il parametro fieldname nell'endpoint API frappe.client.get_value.

Vedi Repository
11 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-2025-56380 — Iniezione SQL cieca basata sul tempo in Frappe / ERPNext (frappe.client.get_value)

📌 Riepilogo È stata scoperta una vulnerabilità di iniezione SQL cieca basata sul tempo nell'endpoint API frappe.client.get_value in Frappe Framework v15.72.4 (presente anche nel codebase di ERPNext v15.67.0). Un utente autenticato con accesso all'API di reporting/client può iniettare SQL tramite il parametro fieldname. Inserendo funzioni di ritardo temporale (ad es., sleep(15)) nel parametro fieldname, un attaccante può confermare l'iniezione tramite ritardi misurabili nella risposta — consentendo denial of service, divulgazione di informazioni (tramite tecniche cieche) e manipolazione dei dati.


🛠 Dettagli tecnici

  • Tipo di vulnerabilità: SQL Injection (cieca basata sul tempo) (CWE‑89)

  • Prodotti interessati: Frappe Framework / ERPNext

  • Versioni interessate (segnalate):

    • Frappe — 15.72.4
  • ERPNext — 15.67.0 (stesso codebase interessato)
  • Componente interessato: metodo API frappe.client.get_value (frappe/client.py)

  • Endpoint vulnerabile:

    root@kitploit:~
    /api/method/frappe.client.get_value
    

    Esempio di query vulnerabile:

    root@kitploit:~
    /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
    
  • Parametro vulnerabile: fieldname (sanitizzato in modo improprio / concatenato in SQL)

  • Tipo di attacco: Remoto (richiede autenticazione e accesso all'API di reporting)

  • Gravità: Alta (la SQLi cieca basata sul tempo consente esfiltrazione di dati, DoS e manipolazione)

  • Punteggio CVSS v3.1 stimato: 8.0 (Alto) — stima basata su un'iniezione SQL remota che richiede autenticazione e consente divulgazione di dati e DoS; la valutazione ufficiale dovrebbe essere eseguita dagli enti assegnanti (assigners).

  • Stato: Non risolto (come da segnalazione)

  • Scoperto da: Mohammed Aloli (GitHub: https://github.com/MoAlali)

  • Data della scoperta: Non specificata nella segnalazione

  • CVE ID: CVE-2025-56380


  • 🚀 Prova di concetto (PoC) — SQLi cieca basata sul tempo

    Effettuare test solo in ambienti autorizzati / di laboratorio. NON eseguire contro sistemi di cui non si è proprietari o per i quali non si ha il permesso esplicito di testare.

    Richiesta PoC (esempio): immagine

    root@kitploit:~
    GET /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
    

    Passaggi per la conferma

    1. Autenticarsi all'istanza Frappe/ERPNext target con un utente che possa accedere all'API di reporting/get_value.
    2. Inviare la richiesta GET sopra indicata (o il payload equivalente codificato in URL).
    3. Osservare il tempo di risposta; se la risposta viene ritardata di ~15 secondi, ciò indica che l'iniezione basata sul tempo è riuscita.
    4. Ripetere la stessa richiesta per confermare la riproducibilità.
    5. Rimuovere il payload iniettato +%2F+sleep(15)+& e osservare che la risposta torna immediata — confermando che l'iniezione causa il ritardo temporale.

    Note: Sostituire sleep(15) con altre funzioni temporali o valori di tempo adatti al DBMS sottostante (ad es., pg_sleep(n) per PostgreSQL) a seconda del motore di database. Il PoC dimostra l'iniezione cieca tramite timing; payload più complessi potrebbero essere usati per estrarre i dati bit per bit.


    🧪 Vettori di attacco e impatto

    • Vettore di attacco: Un utente autenticato crea richieste GET a /api/method/frappe.client.get_value con un parametro fieldname malizioso contenente payload SQL (funzioni di ritardo temporale).

    • Impatto:

      • Denial of Service: ritardi forzati nella risposta del server (esaurimento delle risorse se abusato).
      • Divulgazione di informazioni: estrazione cieca dei dati tramite tecniche basate sul tempo (query bitwise/condizionate dal tempo).
      • Manipolazione dei dati: potenziale capacità di alterare lo stato del database se sono disponibili altri vettori di SQL injection.
      • Altro: escalation dell'impatto a seconda dei privilegi sul database disponibili per l'utente dell'applicazione.

    🔐 Raccomandazioni di mitigazione

    1. Query parametrizzate / Prepared Statement: assicurarsi che fieldname e tutti gli input forniti dall'utente non vengano mai concatenati direttamente in SQL. Utilizzare query parametrizzate o API ORM che legano correttamente i parametri.
    2. Validazione rigorosa degli input / whitelisting: per i parametri che dovrebbero essere nomi di campi o identificatori, validare rispetto a un allowlist rigoroso di nomi di campo validi noti o utilizzare una mappatura lato server invece di accettare identificatori di campo grezzi dai client.
    3. Escape sicuro degli identificatori: se gli identificatori devono essere usati dinamicamente, utilizzare funzioni sicure di quoting/escaping specifiche del database — e comunque limitare i valori consentiti.
    4. Account database con privilegi minimi: eseguire l'applicazione con un utente del database che abbia solo i privilegi necessari (sola lettura dove possibile per gli endpoint di reporting).
    5. Rate limiting e monitoraggio: applicare limiti di frequenza e rilevare pattern di richieste anomali o test ripetuti di ritardo temporale; generare alert sul traffico sospetto.
    6. Audit e logging: registrare le richieste agli endpoint API sensibili e monitorare payload sospetti (ad es., sleep, pg_sleep, benchmark, /, ;).
    7. Patch e rilascio: gli sviluppatori di Frappe/ERPNext dovrebbero esaminare frappe.client.get_value e il percorso del codice che gestisce fieldname/filtri, sostituire la concatenazione non sicura con API sicure e rilasciare una patch di sicurezza. Gli operatori dovrebbero applicare gli aggiornamenti tempestivamente.
    8. Test di sicurezza: aggiungere test automatizzati per rilevare SQL injection (inclusa quella cieca basata sul tempo) negli endpoint API.

    🔗 Riferimenti

    • Scopritore / Segnalatore: Mohammed Aloli — GitHub: https://github.com/MoAlali — X: https://x.com/alaliksa_ — LinkedIn: https://www.linkedin.com/in/mohammedaloli/
    • Codebase Frappe / ERPNext (revisione e patch): https://github.com/frappe/frappe , https://github.com/frappe/erpnext
    • Guida generale sulla SQLi: OWASP SQL Injection Cheat Sheet — https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

    🙏 Riconoscimenti

    Scoperto da Mohammed Aloli


    📢 Esclusione di responsabilità

    Queste informazioni sono fornite esclusivamente a scopo difensivo e di remediation. Non tentare di sfruttare questa vulnerabilità contro sistemi di cui non si è proprietari o per i quali non si ha esplicita autorizzazione al test. Gli operatori dovrebbero dare priorità all'applicazione delle patch, applicare correzioni di codifica sicura e seguire le indicazioni di mitigazione sopra riportate.

    Scarica lo strumento