GHOST: Patcht die Systeme, glibc ist angreifbar

Ghost

Wenn noch nicht geschehen, ist es an der Zeit für ein Upgrade der „glibc“(GNU C Library).

Einige Informationen dazu finden sich hier.

During a code audit performed internally at Qualys, we discovered a
buffer overflow in the __nss_hostname_digits_dots() function of the GNU
C Library (glibc). This bug is reachable both locally and remotely via
the gethostbyname*() functions, so we decided to analyze it — and its
impact — thoroughly, and named this vulnerability „GHOST“.

Es ist durchaus möglich Software im Einsatz zu haben, die von außen angreifbar ist.

Betroffen sind zudem nur ältere Versionen von „libc“, was Debian Wheezy leider angreifbar macht.

Angreifbarkeit testen

Wie im Security Advisory zu lesen, stellen die Erkunder von GHOST einen Code bereit, um die Angreifbarkeit zu testen:

Programm schreiben:

cat > GHOST.c << EOF
#include 
#include 
#include 
#include 
#include 

#define CANARY "in_the_coal_mine"

struct {
char buffer[1024];
char canary[sizeof(CANARY)];
} temp = { "buffer", CANARY };

int main(void) {
struct hostent resbuf;
struct hostent *result;
int herrno;
int retval;

/*** strlen (name) = size_needed - sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/
size_t len = sizeof(temp.buffer) - 16*sizeof(unsigned char) - 2*sizeof(char *) - 1;
char name[sizeof(temp.buffer)];
memset(name, '0', len);
name[len] = '\0';

retval = gethostbyname_r(name, &resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);

if (strcmp(temp.canary, CANARY) != 0) {
puts("vulnerable");
exit(EXIT_SUCCESS);
}
if (retval == ERANGE) {
puts("not vulnerable");
exit(EXIT_SUCCESS);
}
puts("should not happen");
exit(EXIT_FAILURE);
}
EOF

Programm bauen:

gcc GHOST.c -o GHOST

Programm ausführen:

./GHOST

Automatische Sicherheitsupdates

Das Paket „unattended-upgrades“ kümmert sich zuverlässig um die automatische Installation sicherheitsrelevanter Patches:

apt-get install unattended-upgrades

Abschließend scharf schalten:

dpkg-reconfigure unattended-upgrades

2 Antworten auf “GHOST: Patcht die Systeme, glibc ist angreifbar

    1. André P. Autor

      Hi,
      so richtig bequem glaube ich nicht. Im CSV ist noch ein Beispiel mit dem pppd beschrieben, aber das ist ja fast noch umständlicher. :-)
      Postfix ist übrigens nicht betroffen, dort wird die Funktion wohl nur einmalig beim Start aufgerufen (oder so). Nur, um es mal erwähnt zu haben…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.