Vai al contenuto
Home » Rubygems vulnerabile a DNS Hijack

Rubygems vulnerabile a DNS Hijack

Quattro giorni fa è passata nella mailing list
ruby-security-ann

la segnalazione di una vulnerabilità corretta in
rubygems più di un mese fa.

Ultimamente sto trascurando
dawnscanner in favore di altri
progetti, tra cui WordStress. Per questo motivo sono
stato meno attento a quello che succedeva nel mondo rubesco.

Il 15 Maggio scorso, veniva segnalato sul blog di
rubygems.org
, il
rilascio di una nuova versione di rubygems per correggere una vulnerabilità che
se sfruttata dava la possibilità ad un attaccante di fare un DNS hijack e
potenzialmente distribuire versioni di gemme modificata rispetto alle
originali.

Rubygems, infatti, è il sistema di distribuzione del
software utilizzato dal mondo ruby. Il sistema è
centralizzato e, attraverso il comando gem, permette di scaricare ed
installare gemme, ovvero librerie di terze parti che possiamo utilizzare nelle
nostre applicazioni ruby (o rails, o sinatra, o padrino, o rack, &mdots;).

Grazie ad un’impostazione DNS, il
sito di rubygems.org permetteva la redirezione di client verso un host separato
e dedicato alla distribuzione delle gemme e alle richieste fatte via API.

Il comando gem tuttavia, e da qui il problema, non verificava l’hostname
restituito dalla chiamata DNS prima di redirigere le richieste del client.

Se un attaccante fosse stato in grado di forgiare una risposta alla richiesta
DNS del client, realizzando un DNS hijack, avremmo che potenzialmente software
modificato, sarebbe stato distribuito e considerato lecito.

La patch come potete
vedere
,
rende più consistente la parte di validazione della risposta DNS prima darla in
pasto al client.

Cosa devo fare

Fortunatamente possiamo risolvere il problema molto facilmente; aggiornando
rubygems all’ultima versione disponibile.

Questo comando, aggiornerà gem all’ultima patch rilasciata per quella
minor release, in modo da non rovinare nulla nel caso fossimo obbligati a stare
su versioni vecchiotte di ruby o gem stesso.

$ gem update --system 

Attenzioni a versioni vecchie di ruby, dalla 1.9.0 alla 2.2.0. Queste infatti
hanno una versione di rubygems incapsulata, vulnerabile e non aggiornabile. In
questi casi sarebbe meglio passare ad una versione aggiornata dell’interprete
stesso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.