Problemi di autorizzazioni nel blogroll di WordPress [updated]

E’ passato ormai un mese dall’annuncio della versione 2.3 di WordPress. Essa porta con se miglioramenti e bug fix.
Sembrava un momento di svolta per questo software: nessun bug segnalato dal rilascio della versione 2.2.3 avvenuto l’8 Settembre scorso.

Sicuramente il codice è migliorato molto, i problemi di sicurezza più grossi sono stati risolti (forse) ma non penso che siamo giunti alla perfezione; ciò è dimostrato anche dalla segnalazione fatta da un utente sul forum di supporto di WordPress: da un giorno ad un altro si è visto riempire il proprio blogroll con link a domini di spammer.

Ho seguito la vicenda dal nascere, all’inizio pensavo ad una compromissione della macchina dell’utente che ha fatto la segnalazione, ma poi ho visto un bug report sul Trac di WordPress intitolato “Link manager exploit?” la cosa ancora più interessante è che il Trac riporta “Opened 3 months ago”. Non male direi!
Sostanzialmente il problema risiede nella pagina wp-admin/link.php delle versioni 2.0, 2.1, 2.2 e 2.3. Questo file riceve le richieste di amministrazione del blogroll senza però verificare i permessi dell’utente che le invia. In questo modo qualsiasi persona che possiede un account su un blog costruito con WordPress dalla versione 2.0.12 in poi può deliberatamente aggiungere, togliere e modificare link dal blogroll.

E’ stata rilasciata una nuova versione di link.php per WordPress 2.3, per tutti gli altri esiste una patch che consiste nell’agiungere dopo la funzione wp_reset_vars(), del file wp-admin/link.php questo codice:

if ( ! current_user_can(‘manage_links’) )
wp_die( __(‘You do not have sufficient permissions to edit the links for this blog.’) );

Anche se il problema sembra risolto, alcuni utenti segnalano che il fix non funziona. Sarà necessario tenere sott’occhio il thread del forum e il Trac 4627 nei prossimi giorni.

Sinceramente mi rende un po perplesso il fatto che dopo 3 mesi solo nell’ultima settimana il response team di WordPress si stia occupando di questo bug. Mi sembra una svista piuttosto grave e ancor più grave è l’inesistenza di un bollettino di sicurezza ufficiale con patch o nuova versione annessa.

Aggiornamento: il problema non risiede sul file wp-admin/link.php. Esso non effettua nessun controllo dei permessi dell’utente durante la gestione del bloroll perchè questo viene effettuato direttamente dalla funzione edit_link() e da add_link() che è un alias della prima.
A questo punto è necessario capire cosa può aver aiutato gli spammer ad inserire i link nei blogroll di ignari blogger.

 

Dopo tanto tempo

Dopo tanto tempo mi trovo a scrivere su questo spazio; è passato più di un mese dall’ultimo post pubblicato.

Causa di tutto questo gli impegni che, dalla fine dell’estate, hanno avuto un impennata esponenziale. Solo ultimamente riesco ad organizzare il (poco) tempo libero in maniera ottimale.

Nel frattempo si è svolto anche l’ESC e l’hackit_07.
Andiamo con ordine: all’ESC ho parlato di “GoogleTistic e WordPressTistic” insieme a Matteo Flora, non posso negare che è stata una bella esperienza e spero che abbia seguito a prossime manifestazioni: stay tuned. Le slides verranno pubblicate a breve.
Essendo la mia prima presenza a questa manifestazione non posso fare considerazioni, ma per quel poco che sono stato ho apprezzato l’atmosfera dell’hackIT_07: organizzazione, voglia di sperimentare e sopratutto non mi sembra di aver notato dei montati. Stando alle cronache dell’anno passato, quest’anno direi che, fortunatamente, i connotati filo-politici erano meno marcati. Vado a questo genere di eventi per parlare con amici, tecnici, smanettoni, ecc.. e la politica è bene lasciarla a casa.

Linux Day 2007Parlando invece di eventi futuri ricordo a tutti che tra poco più di una settimana si terrà il Linux Day 2007. Sabato 27 Ottobre si svolgerà in contemporanea in 106 città italiane la manifestazione nazionale articolata in eventi locali che ha lo scopo di promuovere Linux e il software libero. Il Linux Day è promosso da ILS (Italian Linux Society) e organizzato localmente dai LUG italiani e dagli altri gruppi che condividono le finalità della manifestazione.
Per il terzo anno consecutivo sto aiutando il LUG ACROS nell’organizzazione dell’evento che si svolgerà a Querceta (LU). In quella giornata terrò un seminario su Drupal: un CMS scritto in PHP rilasciato con GNU GPL.

Passando a tutt’altro argomento va un particolare ringraziamento a Feliciano Intini e Mario Fontana, che mi hanno fatto una gradita sorpresa: da pochi giorni appaio nella lista dei security blog italiani creata da Feliciano, grazie per la fiducia!