Back to top

Autore Topic: Bug di sicurezza in Joomla 3.1.5  (Letto 2058 volte)

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Bug di sicurezza in Joomla 3.1.5
« il: 08 Ago 2013, 08:18:24 »
In questo articolo su Html.it viene commentato un bug di sicurezza su Joomla 3.1.5 pubblicato da Emilio Pinna:
http://disse.cting.org/2013/08/05/joomla-core-3_1_5_reflected-xss-vulnerability/
La correzione è già stata fatta nel codice di Joomla su Github e sarà distribuita con il prossimo aggiornameto.

Per mettersi al sicuro in attesa dell'aggiornamento sembra sia solo necessario eliminare il file libraries/idna_convert/example.php

Ripeto che stiamo parlando solo del ramo 3 di sviluppo di Joomla, non della 2.5 o 1.5

mau_develop

  • Visitatore
Re:Bug di sicurezza in Joomla 3.1.5
« Risposta #1 il: 08 Ago 2013, 14:26:45 »
finalmente qualcuno che spiega.

Cmq il pericolo esiste da autenticati altrimenti non succede nulla, vi babba un cookie o altre amenità inutili visto che non autenticati avete gli stessi suoi privilegi.
E' buono per diffondere malware che riguarda il browser...

E' buona norma non navigare mentre si è autenticati su siti "importanti" come paypal, admin del vostro joomla, piuttosto che ebay etc.
E' buona norma dopo un'autenticazione a un sito importante eliminare i dati in memoria del browser

grazie alex

EDIT: in pratica cosa succede...

if (isset($_REQUEST['lang'])) {
-------------------------------------------------------
guarda se nella request  esiste la lingua; lo si fa perchè altrimenti se uso la variabile senza che questa sia settata ottengo un errore

    if ('de' == $_REQUEST['lang'] || 'en' == $_REQUEST['lang']) $lang = $_REQUEST['lang'];
---------------------------------------------------------------------------------------------------------------------------------
poi usa un condizionale in forma contratta su una riga perchè gli interessa dare un valore a lang solo se la lang è de o en


    $add .= '<input type="hidden" name="lang" value="'.$_REQUEST['lang'].'" />'."\n";
-----------------------------------------------------------------------------------------------------------------
e qui arriva il problema... ovvero, uno script malevolo infilato in $REQUEST[lang] non avrebbe potuto funzionare prima poichè è usata solo per comparazione == , ...non è uguale e ritorna un false ma non esegue nulla.
Invece inserendola in $add va ad occupare un posto nell'html della pagina, in particolare un campo hidden del form prendendo direttamente la var dalla request senza preoccuparsi di cosa contenga.

come sanitizzare? basta non mettere $REQUEST['lang'] nel value ma una variabile valorizzata con un casting di $REQUEST['lang'] e una "scappatoia" nel caso il casting fallisse.
Chessò da una regex che filtri solo i caratteri a-z  ad un semplice count della lunghezza della stringa che credo non superi i tre caratteri oppure costruire un array di comparazione con tutte le lingue, o usare qualche metodo di joomla per vedere se la lingua esiste ed è attiva....
Secondo me è meglio cercare di individuare se la stringa è errata che non il suo filtraggio che può comunque non esistere e creare errori
}

... poi c'è quel phpself del form...
« Ultima modifica: 13 Ago 2013, 19:24:03 da M_W_C »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Bug di sicurezza in Joomla 3.1.5
« Risposta #2 il: 08 Ago 2013, 14:45:25 »
Citazione
E' buona norma non navigare mentre si è autenticati su siti "importanti" come paypal, admin del vostro joomla, piuttosto che ebay etc.
E' buona norma dopo un'autenticazione a un sito importante eliminare i dati in memoria del browser

Questa è una di quelle cose importanti che cerco di fare capire nei miei corsi, ma è difficile convincere le persone a ripulire la cache dei browser: tutti hanno paura di perdere password memorizzate, i contenuti dei form, la cronologia e le preferenze dei siti......tanto vale appendere la chiave di casa accanto al campanello ;)
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Bug di sicurezza in Joomla 3.1.5
« Risposta #3 il: 08 Ago 2013, 15:24:20 »
Qui la conferma della segnalazione anche su Secunia:
https://secunia.com/advisories/54353/

 



Web Design Bolzano Kreatif