GHOST: glibc gethostbyname buffer overflow

Címkék

GHOST néven emlegetik egyes biztonsági szakemberek azt a kritikus glibc gethostbyname buffer overflow sebezhetőséget, amely a CVE-2015-0235 azonosítót kapta a Common Vulnerabilities and Exposures adatbázisban. A sebezhetőség részleteit a Qualys közölte tegnap. Az elemzést végző cég számos tényezőt azonosított, ami mérsékli a bug hatásait. Ilyen tényező például egy, a problémára 2013-ban napvilágot látott patch. Sajnos azonban a javításkor a bug biztonsági vonatkozásait nem ismerték fel, ezért számos, élesben használt rendszer a mai napig érintett. Ilyen rendszerek például a Debian 7 (wheezy), a Red Hat Enterprise Linux 6 és 7, a CentOS 6 és 7, az Ubuntu 12.04 LTS stb.

A Qualys az elméletét bizonyítandó egy teljesértékű, remote PoC exploitot készített az Exim mailszerver ellen. Az exploit képes áthágni az nevezett operációs rendszerek biztonsági védelmi mechanizmusait (ASLR, PIE és NX) mind 32 bites, mind 64 bites környezetben. A cég az exploitot hamarosan elérhetővé teszi Metasploit modulként.

A bejelentés elolvasható itt. Egy későbbi levélben a Qualys azt közölte, hogy legjobb tudomásuk szerint az alábbi szoftverek - annak ellenére, hogy így vagy úgy meghívják a gethostbyname-t - nem érintettek, vagyis rajtuk keresztül a BOF nem triggerelhető:

  • 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

Részletek itt.

Hozzászólások

ne aggódjatok hupuk, a hup.hu ezzel nem sebezhető

>FreeBSD

Van aki vitatja a bug súlyosságának fokát:

"The effective impact of this vulnerability is not "highly critical", though you'd have to really dig into the details of the actual advisory and not base your opinion off what Qualys' PR team have been building up for over 4 months."

[..]

"But readers here and elsewhere will see "highly critical", overreact as expected from Qualys' PR team, and learn nothing from the entire event. Carry on!" - spender

--
trey @ gépház

Ritka esemény, hogy nem itt a hup-on olvastam róla először :D
A hasonló kaliberű bugokat mind itt láttam elsőként (lemaradásban voltam)

A csunya az, hogy a Red Hat kiadott egy scriptet GHOST-test.sh neven, amivel (elvileg) meg tudod nezni, hogy erintett-e a rendszered.

Ez a script megnezi a glibc verziojat a rendszeren viszont a revisionben (PL RHEL6-ben ez igy nez ki: 1.149.el6_6.5 ) ignoralja az utolso reszt igy neha azt mondja, hogy nem vulnerable a rendszer mikozben az. :)

Nyitottam egy case-t a Red Hat-nal (nameg megirtam a forumban, hogy ne higgyenek a scriptnek :) ) es eppen javitas alatt van a script.

Igazabol minden RH rendszer erintett ami nem tartalmazza a frissiteseket tegnaprol.

Legjobb modja a tesztnek:
https://gist.github.com/discordianfish/23b2cd8580c19bade39d

# gcc -o /tmp/ghost /tmp/GHOST.c
# /tmp/ghost
vulnerable

Érdekes, hogy ha fut pl nscd a gépen, akkor nem futnak segfaultra a Qualys által kiadott példák.