Oracle e “cursor injection”: nuove frontiere dell’exploiting
Massimo Rabbi | 2 March 2007 | 16:06Fino a qualche tempo fa si pensava erroneamente che per poter portare a segno un attacco al database Oracle, sfruttando le vulnerabilità di tipo “PL-SQL injection”, fosse necessario essere in possesso di privilegi di alto livello.
Con una nuova tecnica di attacco presentata da David Litchfield, un esperto di sicurezza di NGS Software, al Black Hat DC, ciò non è più vero.
“E’ un trucco che può essere usato da chiunque, che con privilegi minimi può essere in grado di prendere controllo del database server”, ha affermato Litchfield in un’intervista. “Il trucchetto può naturalmente essere sfruttato attraverso una delle tante vulnerabilità precendentemente scoperta e che si pensava fossero abbastanza di poco conto”.
Litchfield, ha spiegato in maniera molto dettagliata la sua tecnica, chiamata “cursor injection”, in un documento pubblicato lo scorso weekend e discusso durante la manifestazione. Esempi concreti di codice che sfruttino il trucco sono già comparsi ha chiarito Litchfield.
Oracle dal canto suo ha fatto chiaramente sapere che è alquanto preoccupata della cosa e consiglia caldamente a chi non l’abbia ancora fatto di applicare tutte le patches rilasciate per patchare le falle attualmente scoperte.
In passato infatti, le falle di tipo PL SQL injection richiedevano i privilegi di tipo “create procedure” sul database, cosa di cui fortunatamente la maggior parte degli utenti non disponeva.
Utilizzando invece la tecnica cursor injection, chiunque abbia la possibilità di collegarsi al database può sfruttare questo tipo di falle.
“Tutto ciò avviene iniettando un cursore pre-compilato in oggetti PL SQL vulnerabili”, scrive Litchfield nel suo paper.
“La motivazione che sta dietro questo tipo di ricerca è mostrare come tutte le falle di tipo SQL injection possano essere sfruttate senza particolari tipi di privilegi diversi da un ‘create session’”.
Litchfield conclude dicendo che sicuramente in futuro Oracle non elencherà più la lista dei privilegi richiesti come fattore mitigante per le falle PL SQL scoperte.






