Dobrý den, před pár dnyLinuxByla objevena zranitelnost přetečení bufferu ve funkci gethostbyname standardní knihovny GNU glibc a číslo zranitelnosti je CVE-2015-0235. Hackeři mohou použít sérii funkcí gethostbyname k vykonání vzdáleného kódu a jeho získáníServerTato zranitelnost má mnoho spouštěcích cest a velký dopad, prosím, věnujte jí pozornost a dočasně ji opravte, a my ji co nejdříve aktualizujemeZrcadleníOpravit. Prosím, vědět.
1. Datum zveřejnění zranitelnosti
201527. ledna 2019
2. Software a systémy, u kterých bylo potvrzeno, že jsou úspěšně používány
Glibc 2.2Až do verze 2.17 (zahrnuje verze 2.2 a 2.17)
3. Popis zranitelností
GNU glibcZranitelnost buffer overflow byla odhalena ve funkci gethostbyname standardní knihovny a číslo zranitelnosti je CVE-2015-0235. Glibc je knihovna v C, která poskytuje systémová volání a základní funkce, jako jsou open, malloc, printf atd. Všechny dynamicky propojené programy používají Glibc. Vzdálený útočník by mohl tuto zranitelnost zneužít k vykonání libovolného kódu a zvýšení oprávnění uživatele, který aplikaci provozuje.
4. Metody detekce zranitelností
Postupujte podle návoduProvozKonev. #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]; kanárka char [sizeof(CANARY)]; } temp = { "buffer", CANARY }; int main(void) { Strukturujte hostent resbuf; struct hostent *výsledek; int herrno; int retval; /*** strlen (název) = size_needed -velikostOf (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/ size_t len = velikosti(temp.buffer) -16*sizeof(nepodepsaný znak) - 2*sizeo(char *) - 1; název postavy[sizeof(temp.buffer)]; memset (jméno, '0', len); názvy[len] = '\0'; retval = gethostbyname_r(název,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); if (strcmp(temp.canary, CANARY) !=0) { puts ("zranitelný"); exit(EXIT_SUCCESS); } if (retval == POMERANČ) { puts ("nezranitelný"); exit(EXIT_SUCCESS); } puts ("nemělo by se to stát"); exit(EXIT_FAILURE);
}
Uložit jako GHOST.c Run gcc GHOST.c -o GHOST
$./GHOST novulnerable Představuje úspěšnou opravu.
5. Navrhnout plány oprav
Speciální poznámka: Protože glibc je základní součástí systému Linux, doporučuje se, abyste se vyhnuli dopadu záplat na váš server, zvolit vhodný čas na opravu a před opravou si zálohovat během snapshot operace.
Centos 5/6/7:
Mňam, aktualizace glibc
Ubuntu 12/14
APT - získat aktualizaci
apt-get install libc6
Debian 6
wget -O /etc/apt/sources.list.d/debian6-lts.listhttp://mirrors.aliyun.com/repo/debian6-lts.list APT - získat aktualizaci apt-get install libc6
Debian 7
APT - získat aktualizaci
apt-get install libc6
Opensuse 13
Zypper Refresh
Zypper Update glibc*
Aliyun linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo Mňam, aktualizace glibc
|