Apache è vulnerabile a CVE-2015-1781 (buffer overflow in gethostbyname_r()
famiglia di funzioni)?
Come posso verificare rapidamente se un mio sistema è sicuro?
Apache è vulnerabile a CVE-2015-1781 (buffer overflow in gethostbyname_r()
famiglia di funzioni)?
Come posso verificare rapidamente se un mio sistema è sicuro?
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.
Apache httpd source: 2.4.12
Ho fatto un codice sorgente Grep per "GLIBC" e "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
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.
Leggi altre domande sui tag apache