Luka W Bibliotece Systemu Linux - Sprawdź Koniecznie Czy Ją Posiadasz

Luka W Bibliotece Systemu Linux - Sprawdź Koniecznie Czy Ją Posiadasz

Informacja o dziurze w systemie Linux obiega świat. Sprawdź czy ją posiadasz!

Masz system operacyjny Linux? - Koniecznie sprawdź czy jesteś podatny na ataki. 

Luka znaleziona w kluczowej bibliotece Linuksa, glibc (do wersji 2.18), pozwala atakującemu zdalnie przejąć kontrolę nad naszym serwerem. Ważną informacja jest, iż na atak podatne są aplikacje, które korzystają z protokołu DNS (Serwery pocztowe, Formularze w serwisach internetowych, Serwery SSH).

Jak sprawdzić podatność?

Qualys opublikował kod programu, którego uruchomienie daje odpowiedni wynik czy posiadacie taką lukę w systemie:

 

#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#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);
}

Jeżeli wynik wykaże lukę w naszym systemie, zaleca się jak najszybsze zaktualizowanie glibc do najnowszej wersji, pobierając patch dla poszczególnych dystrybucji systemu Linux (Debian, RedHat)

Obejrzyj inne materiały na VideoTesty.pl
blog comments powered by Disqus
more