Vulnerabilità critica su Glibc mette a rischio sistemi Linux: rilasciato il fix

Vulnerabilità critica su Glibc mette a rischio sistemi Linux: rilasciato il fix

Google e Red Hat hanno scoperto in maniera indipendente una vulnerabilità di sicurezza introdotta su un aggiornamento della libreria glibc del 2008

di pubblicata il , alle 12:31 nel canale Sicurezza
 

Glibc, la stessa libreria GNU C alla base della vulnerabilità GHOST scoperta l'anno scorso, è potenzialmente suscettibile ad un'altra falla critica che coinvolge quasi tutte le macchine basate su Linux ed anche alcuni framework di rete dove viene usato il codice. Vecchia e attiva da parecchi anni, la vulnerabilità è stata scoperta da Google e Red Hat e divulgata solamente lo scorso martedì dopo essere stata corretta. Al momento in cui scriviamo è infatti disponibile una patch correttiva.

La falla è stata introdotta nel 2008 all'interno della libreria GNU C, collezione di codici open-source utilizzati in svariate applicazioni stand-alone e da parecchie distribuzioni di Linux, incluse quelle pensate per soluzioni embedded o router. Una delle funzioni utili per il lookup di DNS e nomi dominio contiene un bug di buffer overflow il quale consente ad aggressori esterni di eseguire codice malevolo in situazioni determinate e circoscritte. L'exploit può essere eseguito quando sistemi o app affetti dal bug sono vittime di attacchi man-in-the-middle o eseguono ricerche su domini o DNS controllati dall'aggressore.

I maintainer di glibc hanno già rilasciato una patch che corregge la vulnerabilità e le operazioni di aggiornamento per chi gestisce hardware o software basati su Linux sono di fatto estremamente consigliate. Ma se per i gestori di server Linux l'aggiornamento richiede la semplice installazione del pacchetto, la situazione potrebbe non essere così immediata per altri tipi di utenti che usano applicazioni o servizi attualmente affetti dal bug. Questi infatti devono attendere che le singole app vengano ricompilate con le nuove glibc aggiornate, processo che potrebbe non essere così rapido e che dipende dagli sviluppatori di applicazioni e dai produttori hardware.

In attesa degli aggiornamenti i gestori di sistemi potenzialmente a rischio possono proteggersi con una procedura assolutamente temporanea che Google ha specificato nelle scorse ore: "La vulnerabilità si basa su una risposta UDP o TCP sovradimensionata (2048 o più byte). Il nostro suggerimento per mitigare il problema è quello di limitare la risposta (con DNSMasq o programmi simili) a dimensioni accettate dal resolver DNS a livello locale e assicurarsi che le query DNS vengano inviate solo a server DNS che limitano le dimensioni di risposta UDP".

Il bug è presente nella versione gblic 2.9 rilasciata nel mese di maggio del 2008, ma è stato scoperto e riportato ai maintainer solo lo scorso mese di luglio. In base a quanto è possibile leggere dai documenti rilasciati pubblicamente, sembra che la falla non sia mai stata sfruttata pubblicamente. Adesso che è stata resa pubblica, tuttavia, l'aggiornamento è assolutamente consigliato visto che eventuali aggressori potrebbero prendere di mira i sistemi ancora vulnerabili. L'attacco però non è dei più semplici.

Google ha infatti commentato che "l'esecuzione di codice da remoto è possibile, ma non è così semplice. Per farlo è necessario ad esempio bypassare le soluzioni di sicurezza presenti sul sistema, come ad esempio ASLR". Ricordiamo che Android è basato su Linux ma non utilizza glibc, ma un sostituto chiamato Bionic. Il sistema operativo del robottino verde è quindi di fatto invulnerabile e assolutamente esterno alla falla di sicurezza. Maggiori informazioni possono essere trovate a questo indirizzo.

44 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
El Tazar17 Febbraio 2016, 13:37 #1
Vecchia e attiva da parecchi anni, la vulnerabilità è stata scoperta da Google e Red Hat e divulgata solamente lo scorso martedì dopo essere stata corretta.


Non voglio trollare..ma da profano leggo spesso di queste vulnerabilità, gravi e meno gravi, scoperte adesso ma che erano presenti da molti anni e mi chiedo: non è che le vulnerabilità (che una volta scoperte vengono prontamente sistemate) sono sempre state poche su Linux solo perchè erano in pochi che le cercavano, a dispetto dei "molti occhi" che possono leggere il codice?


Ripeto, non sto trollando ma vorrei sapere se solo io lo penso...
Pier220417 Febbraio 2016, 14:02 #2
E' stata introdotta nel 2008, è stata scoperta da Google e Red Hat lo scorso anno.. oggi c'è una procedura temporane messa a punto da Google per proteggersi, in quanto la falla è attualmente ancora attiva..

Dal 2008 a oggi sono più di 7 anni, possibile che i 10.000 occhi che osservano il codice non si sono accorti? (slogan dei mille occhi che sento da tempo) chi si è accorto sono 2 Aziende di grosse dimensioni come Google e Red Hat?

Possibile che questa falla presente nella libreria GNU C, collezione di codici open-source utilizzati in svariate applicazioni stand-alone e da parecchie distribuzioni di Linux, incluse quelle pensate per soluzioni embedded o router è passata completamente inosservata per tanti anni?

Chissa che ne pensa Battilei
eaman17 Febbraio 2016, 14:07 #3
Be' di sicuro c'e' meno gente che si legge le glibc rispetto a chesso: python-django.

...che in ogni caso sono sempre di piu' di quelli che _non_possono_ leggere il codice proprietario non disponibile di altri fornitori :P

E' un discorso che non tutti percepiscono: il software non e' figo perche' e' open source bensi' quando tanti ci lavorano liberamente e' figo, quindi deve essere open source.

E' come mysql e postgresql: mysql era open source ma gestito da un solo operatore e quando questo e' stato fatto fuori sono stati (e sono ora) dolori.

Ergo: non e' che se domani MS rilascia i sorgenti (impossibile: chissa' cosa c'e' dentro) improvvisamente diventa sicuro e forkabile. E' sicuro quando sottoposto a molteplici reviews e "dependable" quando ha dietro una community che lo conosce e lo sviluppa.
andrew0417 Febbraio 2016, 14:10 #4
Originariamente inviato da: El Tazar
Non voglio trollare..ma da profano leggo spesso di queste vulnerabilità, gravi e meno gravi, scoperte adesso ma che erano presenti da molti anni e mi chiedo: non è che le vulnerabilità (che una volta scoperte vengono prontamente sistemate) sono sempre state poche su Linux solo perchè erano in pochi che le cercavano, a dispetto dei "molti occhi" che possono leggere il codice?


Ripeto, non sto trollando ma vorrei sapere se solo io lo penso...


No le falle scoperte di linux più o meno sono sempre sullo stesso numero dal 2004, indipendentemente dalle percentuali e indipendentemente da quanti o chi le vedono
http://www.cvedetails.com/product/4...ml?vendor_id=33

Ci sono stati giusto alcuni picchi negli anni in cui qualche azienda ha investito in Linux (2005 Ubuntu e 2013 Valve)

In ogni caso la falla dell'articolo (come specificato dallo stesso articolo anche) non è del kernel Linux direttamente ma di un componente della parte del sistema GNU, appunto Glibc, che poi unita al kernel forma il sistema GNU/Linux
(Ecco, ora mi sento Stallman per aver fatto questa precisazione :asd
adapter17 Febbraio 2016, 14:55 #5
Mazza ho...
Certe notizie per alcuni utenti sono come quando perde la Juve.
Uno ci spera. Così poi può festeggiare....
fano17 Febbraio 2016, 14:58 #6
Originariamente inviato da: El Tazar
Non voglio trollare..ma da profano leggo spesso di queste vulnerabilità, gravi e meno gravi, scoperte adesso ma che erano presenti da molti anni e mi chiedo: non è che le vulnerabilità (che una volta scoperte vengono prontamente sistemate) sono sempre state poche su Linux solo perchè erano in pochi che le cercavano, a dispetto dei "molti occhi" che possono leggere il codice?


Ripeto, non sto trollando ma vorrei sapere se solo io lo penso...


Sì è esattamente così: prima Linux praticamente non lo usava nessuno ora inizia ad essere leggermente più usato dalle grandi aziende e si scopre che è un colabrodo!

Il problema è che le grandi corporation hanno pensato bene di dismettere i loro "veri" OS per affidarsi a Linux perché "è gratis" e il risparmio è stato doppio visto che hanno licenziato il loro intero team di sviluppo (AIX è morto, Solaris è morto, ...)! Peccato che il codice Open Source - in realtà - tra il fatto che sarà codice illeggibile / incomprensibile e tra che nessuno ne ha voglia non viene guardato, ma solo visto!
Lo slogan è "Compila? Dunque funziona!" e via che si mergia!

E` la stessa cosa di OpenSSL era piena di bachi ed era un codice senza senso eppure tutti lo usavano! Qualcuno lo aveva mai guardato?

P.S. A onor del vero anche se Android ha forkato completamente il kernel Linux (e Google ne ha riscritto una buona parte probabilmente) e usa Bionic non è invulnerabile (come Superman :Prrr, ma NON vulnerabile a questo specifico bug, magari ne avrà chissà quanti altri! Finché si usa C/C++ non esistono software sicuri...
adapter17 Febbraio 2016, 15:14 #7
Originariamente inviato da: emiliano84
non e' questione di sperarci ... e' risaputo che non esiste un software 100% sicuro


E infatti è risaputo anche che molti, scelgono il più sicuro.
Delle altre "pippe" sulla percentuale di mercato, percentuale di sicurezza, del perché e del percome non interessa nulla di nulla a nessuno.
Quindi mi viene da ridere quando un affezionato ai sistemi Microsoft si fionda su notizie come queste e cercare il suo momento di gloria.
WarDuck17 Febbraio 2016, 15:20 #8
Originariamente inviato da: El Tazar
Non voglio trollare..ma da profano leggo spesso di queste vulnerabilità, gravi e meno gravi, scoperte adesso ma che erano presenti da molti anni e mi chiedo: non è che le vulnerabilità (che una volta scoperte vengono prontamente sistemate) sono sempre state poche su Linux solo perchè erano in pochi che le cercavano, a dispetto dei "molti occhi" che possono leggere il codice?


Ripeto, non sto trollando ma vorrei sapere se solo io lo penso...


Basterebbe semplicemente essere obiettivi e accettare l'idea che il software in quanto fatto da esseri umani può essere soggetto ad errori.

L'open source consente di guardare il codice sorgente e scoprire eventuali magagne.

È una possibilità in più, non un obbligo.

Dopodiché c'è chi fa il ricercatore di sicurezza per mestiere, e chi invece scopre un bug per casualità.

Nessuno tipicamente si mette a leggere del codice per cercare degli errori se questi non si manifestano in qualche modo, a meno che appunto tu non sia un ricercatore nel campo della sicurezza.
GTKM17 Febbraio 2016, 15:21 #9
Originariamente inviato da: fano
Sì è esattamente così: prima Linux praticamente non lo usava nessuno ora inizia ad essere leggermente più usato dalle grandi aziende e si scopre che è un colabrodo!

Mostrami le centinaia di falle che lo rendono un colabrodo.

Originariamente inviato da: fano
E` la stessa cosa di OpenSSL era piena di bachi ed era un codice senza senso eppure tutti lo usavano! Qualcuno lo aveva mai guardato?

Se non ricordo male, il bug era uno (gravissimo eh, e non mi spiego come sia stato possibile non notarlo per 2 anni).
Codice senza senso, sulla base di quale argomentazione tecnica?
Originariamente inviato da: fano
Finché si usa C/C++ non esistono software sicuri...


Finché si scriveranno software, non saranno mai esenti da bug. Il linguaggio utilizzato non c'entra una mazza.

Che poi, un OS, o un componente di basso livello, con che lo vorresti scrivere? Java ( ).
fano17 Febbraio 2016, 15:31 #10
Originariamente inviato da: GTKM
Mostrami le centinaia di falle che lo rendono un colabrodo.

Se non ricordo male, il bug era uno (gravissimo eh, e non mi spiego come sia stato possibile non notarlo per 2 anni).
Codice senza senso, sulla base di quale argomentazione tecnica?


Io - che sono masochista - il codice dove il bug si trovava l'ho guardato!

[LIST=1]
[*]Funzione di 1000 righe con codice ripetuto
[*]Migliaia di goto
[*]Macro orrende a dai nomi incomprensibili
[*]if la cui graffa si chiudeva dopo centinai di righe!
[/LIST]

Tutto questo faceva sì che il BUG era difficile da trovare appunto perché non si riusciva a comprendere il codice!

Originariamente inviato da: GTKM
Finché si scriveranno software, non saranno mai esenti da bug. Il linguaggio utilizzato non c'entra una mazza.


Certo codice scritto male non esente da bug è possibile scriverlo in qualsiasi linguaggio si usi, ma C/C++ sono unsafe by design è così facile scrivere codice bacato con buffer underrun / underflow che poi permette - chissà come - di scardinare tutta la sicurezza dell'OS fino a chiamare pezzi del kernel...

Originariamente inviato da: GTKM
Che poi, un OS, o un componente di basso livello, con che lo vorresti scrivere? Java ( ).


No, in Java no... in C#
Che non vuol dire far girare l'OS sotto una VM, Cosmos una volta compilato l'IL con il normale compilatore Microsoft viene ricompilato in assembler come fa il C, mantenendo comunque la sicurezza (le Stringhe per dire hanno sempre la dimensione giusta non posso scriverci più di quanto ho allocato) di avere un linguaggio Managed.
E` una sfida complessa, ma che si possa fare è certo, è già stato fatto:

http://joeduffyblog.com/2015/12/19/safe-native-code/

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^