Apache è vulnerabile a CVE-2015-1781?

10

Apache è vulnerabile a CVE-2015-1781 (buffer overflow in gethostbyname_r() famiglia di funzioni)?

Come posso verificare rapidamente se un mio sistema è sicuro?

    
posta chenwen2 04.05.2015 - 10:55
fonte

3 risposte

9

Devi prima controllare la versione di glibc: l'uso di questo comando può aiutare:

ldd --version

La fine della risposta ha un aspetto positivo che puoi saltare e andare lì

Secondo questa reference questa vulnerabilità funziona sulla versione di glibc prima del 2,21-3. se il tuo glibc è più vecchio di questa versione è vulnerabile.

Il problema è stato risolto a monte, ma una nuova versione deve ancora essere rilasciato.

Inoltre c'è un'altra vulnerabilità che Ultima revisione è: 04 / 13/2015 ed è anche correlato a glibc versione 2.20 e precedenti.

Leggi anche questo: avviso Red Hat RHSA-2015: 0863-01 (glibc)

Arjun Shankar di Red Hat ha scoperto che il codice nss_dns non lo fa regolare la lunghezza del buffer quando il puntatore di avvio del buffer è allineato. Come un risultato, può verificarsi un overflow del buffer nell'implementazione delle funzioni come gethostbyname_r e le risposte DNS create potrebbero causare l'applicazione si blocca o causa l'esecuzione di codice arbitrario. Ciò può accadere solo se queste funzioni vengono chiamate con un disallineamento buffer. Ho guardato un bel po 'di codice sorgente e testato le applicazioni con un glibc rattoppato che registra i buffer disallineati. Non ho osservato qualsiasi buffer disallineato . [Riferimento]

Overflow dell'heap gethostbyname () di GHOST in glibc (CVE-2015-0235)

Questa è un'altra vulnerabilità correlata a glibc e gethostbyname () questo artice diceva: "per quanto a nostra conoscenza, l'overflow del buffer non può essere attivato in nessuna [di queste]:

apache, cups, dovecot, gnupg, isc-dhcp, lighttpd, mariadb / mysql,

nfs-utils, nginx, nodejs, openldap, openssh, postfix, proftpd,

pure-ftpd, rsyslog, samba, sendmail, sysklogd, syslog-ng, tcp_wrappers,

vsftpd, xinetd. "

Quindi penso che in questa vulnerabilità la vulnerabilità menzionata non influenzi su apache

e forse questa vulnerabilità ha un effetto su Apache o forse no, ma fino a chiarire questo problema. la contromisura rapida sta aggiornando glibc alla versione precedente.

    
risposta data 04.05.2015 - 11:43
fonte
0

Apache httpd source: 2.4.12

Ho fatto un codice sorgente Grep per "GLIBC" e "gethostbyname"

  • Ho trovato gli aggiornamenti alle librerie di GlibC (quindi Apache potrebbe utilizzarli)
  • Ho trovato anche i seguenti usi di 'gethostbyname':

    httpd-2.4.12/support/logresolve.pl.in:213: $hostname = gethostbyaddr(gethostbyname($ip), AF_INET);

    httpd-2.4.12/server/util.c:45:#include [netdb.h] /* for gethostbyname() */

    httpd-2.4.12/os/os2/core_header.def:13: "gethostbyname"

    httpd-2.4.12/docs/manual/developer/thread_safety.html.en:175: [code]gethostbyname()[/code] which are not thread-safe on most C

    httpd-2.4.12/docs/manual/developer/thread_safety.html.en:178: [code]gethostbyname()[/code] are thread-safe on your OS, c-client

    httpd-2.4.12/docs/manual/misc/perf-tuning.html.en:147: could consider doing the [code]gethostbyname[/code] call in the

    httpd-2.4.12/docs/manual/misc/perf-tuning.html.fr:161: certains CGIs, vous pouvez effectuer l'appel � [code]gethostbyname[/code]

    httpd-2.4.12/docs/manual/misc/perf-tuning.html.tr.utf8:152: bu ihtiyaçlarına yönelik olarak [code]gethostbyname[/code] çağrıları

    httpd-2.4.12/docs/manual/misc/perf-tuning.html.ko.euc-kr:139: CGI [code]gethostbyname[/code]

    httpd-2.4.12/test/test_limits.c:123: if ((he = gethostbyname(addr)) == NULL) {

    httpd-2.4.12/test/test_limits.c:124: perror("gethostbyname");

    httpd-2.4.12/modules/arch/netware/mod_nw_ssl.c:196: hep = gethostbyname(w);

    httpd-2.4.12/modules/metadata/mod_unique_id.c:64: * gethostbyname (gethostname()) is unique across all the machines at the

  •   
  Quindi apache httpd potrebbe essere vulnerabile, depone ulteriormente su quale versione di glibc sta usando. quello segnalato a rischio è Qualsiasi versione sotto glibc 2.12 (glib 6)     
risposta data 04.05.2015 - 11:48
fonte
0

Apache utilizza Apache Portability Runtime e implementa il proprio apr_gethostbyname, quindi il server principale non è vulnerabile.

Ma nel tempo, alcuni moduli, apparentemente non usavano la funzione gethostbyname APR, quindi è molto plausibile trovare ancora alcuni moduli che lo utilizzano.

Anche l'apache convalida correttamente tutti gli input, quindi è molto bassa la possibilità di colpire l'overflow anche se Apache utilizza questa funzione.

Ho fatto un controllo rapido e non ho trovato alcun riferimento a gethostbyname_r, quindi il 99,999% di Apache Web Server non è vulnerabile.

Aggiornamento:

Inoltre puoi vedere che i miei colleghi stanno già cercando nel codice sorgente e gethostbyname è stato individuato in soli 2 moduli.

    
risposta data 04.05.2015 - 11:45
fonte

Leggi altre domande sui tag