####################################################################### Luigi Auriemma Applicazione: Virtools web player e probabilmente anche altre applicazioni che possono leggere i Virtools files ma non ho avuto modo di testare http://www.virtools.com Versioni: <= 3.0.0.100 Platforms: Windows (ma sembra che anche Mac sia supportato) Bugs: A] buffer-overflow B] directory traversal Exploitation: remoto/locale Data: 30 Sep 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== Virtools e' un insieme di applicazioni per creare giochi, demo, CAD, simulazioni ed altro materiale multimediale. Virtools Web Player permette di usufruire di tali creazioni direttamente online tramite l'integrazione del programma nel browser. ####################################################################### ======= 2) Bugs ======= Oltre agli scripts nei file archivio di Virtools (per esempio quelli con estensione VMO) sono contenuti anche altri files addizionali come mp3, wav, immagini e cosi' via che vengono estratti in una cartella temporanea nella directory temp del sistema come, per esempio, c:\windows\temp\VTmp26453 ------------------ A] buffer-overflow ------------------ Esiste un buffer-overflow che avviene durante la gestione dei filenames contenuti nei Virtools files. Un filename di 262 o piu' bytes e' in grado di sovrascrivere completamente l'indirizzo di ritorno permettendo la possibile esecuzione di codice remoto. ---------------------- B] directory traversal ---------------------- Come detto precedentemente i files vengono estratti in una directory temporanea e se gia' esistono files con lo stesso nome vengono sovrascritti completamente. Il problema qui e' che non esistono controlli sui nomi dei files quindi l'utilizzo del classico pattern "..\" permette ad un attacker di sovrascrivere qualsiasi file nel disco ove e' situata la cartella temp del sistema (solitamente c:\). ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/virtbugs.zip ####################################################################### ====== 4) Fix ====== Versione 3.0.0.101 #######################################################################