
CVE-2025-14598 Iniezione SQL remota non autenticata che porta all'esecuzione remota di codice.
È stata identificata una vulnerabilità di SQL Injection nella funzionalità di login di BET e-Portal, una soluzione software ampiamente distribuita presso istituti educativi per la gestione delle informazioni degli studenti e dei risultati degli esami. La vulnerabilità consentiva ad attaccanti non autenticati di interferire con le query SQL del backend, potenzialmente portando a un'escalation fino all'esecuzione di codice remoto in determinate configurazioni. Il problema è stato segnalato e coordinato tramite CERT/CC, portando all'assegnazione di CVE-2025-14598.
Questo documento fornisce una panoramica tecnica della vulnerabilità, del suo impatto, di come si è manifestata nelle varie implementazioni e delle linee guida generali per la mitigazione.
Prodotto: BET e-Portal
Fornitore: BeeS Software Solutions Pvt Ltd
Contesto di Implementazione:
BET e-Portal è comunemente utilizzato da college e università per gestire l'accesso degli studenti, i risultati degli esami, i voti interni e i relativi flussi di lavoro accademici. È implementato in modo indipendente in oltre 100 istituzioni, ciascuna con la propria istanza.
La vulnerabilità è classificata come SQL Injection nella funzionalità di login.
A causa di una validazione dell'input insufficiente, i dati di login forniti dall'utente sono stati incorporati in query SQL senza una corretta sanificazione. Ciò ha permesso a un attaccante non autenticato di manipolare le query del database e, a seconda della configurazione del server, potenzialmente ottenere l'esecuzione di codice remoto.
La gravità varia in base all'implementazione, ma in alcuni casi reali l'impatto ha raggiunto il compromesso completo del sistema.
La vulnerabilità ha origine nel form di login dell'applicazione. I campi username e password venivano passati al backend del database in istruzioni SQL costruite dinamicamente.
Se l'input utente non viene rigorosamente validato o parametrizzato, gli attaccanti possono creare input che alterano la logica SQL prevista.
Il backend sembra elaborare i tentativi di login utilizzando query SQL simili nella struttura a:
SELECT * FROM users WHERE username = '<input>' AND password = '<input>';
Questo pattern è vulnerabile se <input> non viene correttamente escape o parametrizzato.
Gli attaccanti possono iniettare frammenti SQL per modificare il comportamento della query.
Il flusso generale di sfruttamento:
Non sono richiesti privilegi speciali. L'attacco è completamente remoto e non autenticato.
Alcune implementazioni interessate avevano determinate funzionalità di SQL Server abilitate, come:
xp_cmdshellQueste funzionalità amplificano significativamente l'impatto dell'SQL Injection:
Sebbene la configurazione vari da istituzione, tali configurazioni errate possono trasformare l'SQL injection in uno scenario di esecuzione di codice remoto.
Durante la divulgazione coordinata, è stato implementato un aggiornamento iniziale che affrontava determinati percorsi di input ma non risolveva completamente la vulnerabilità. In seguito a nuovi test, l'SQL injection è rimasta possibile attraverso percorsi di codice alternativi.
A seguito di un ulteriore coordinamento tramite CERT/CC, sono stati implementati e verificati ulteriori passaggi correttivi. La patch finale ha risolto con successo il problema nelle implementazioni esaminate.
Tipo di Vulnerabilità: SQL Injection
Punteggio CVSS: 9.8 (Critico)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Impatto Potenziale:
La vulnerabilità è considerata critica nelle implementazioni in cui la configurazione del database consente interazioni a livello di sistema.
Evitare di concatenare dinamicamente stringhe SQL con l'input utente. Utilizzare invece meccanismi di binding dei parametri forniti dai framework o dalle librerie del database.
Sanificare o creare una whitelist per i campi di input, specialmente quelli utilizzati nei flussi di autenticazione.
Assicurarsi che gli account del database utilizzati dalle applicazioni web abbiano permessi minimi.
Funzionalità come xp_cmdshell dovrebbero essere disabilitate a meno che non siano assolutamente necessarie.
Monitorare i flussi di autenticazione e i log degli errori SQL per comportamenti anomali.
Test di penetrazione di routine e revisione del codice possono identificare questi problemi nelle fasi iniziali del ciclo di sviluppo.
Scoperto da:
Mohammed Afnaan Ahmed
https://www.afnaan.me
ID CVE:
CVE-2025-14598
Divulgazione Coordinata:
CERT Coordination Center (CERT/CC)