Hej, för några dagar sedanLinuxEn buffer overflow-sårbarhet har upptäckts i gethostbyname-funktionen i GNU glibc-standardbiblioteket, och sårbarhetsnumret är CVE-2015-0235. Hackare kan använda gethostbyname-serien av funktioner för att köra fjärrkod och få tag på denserverDenna sårbarhet har många utlösande vägar och stor påverkan, var vänlig och åtgärda den tillfälligt i tid, så uppdaterar vi den så snart som möjligtSpegelingFixa. Snälla vet.
1. Sårbarhetens releasedatum
201527 januari 2019
2. Programvara och system som har bekräftats använda framgångsrikt
Glibc 2.2Upp till 2.17 (inkluderar versionerna 2.2 och 2.17)
3. Beskrivning av sårbarheter
GNU glibcEn buffer overflow-sårbarhet exponerades i gethostbyname-funktionen i standardbiblioteket, och sårbarhetsnumret är CVE-2015-0235. Glibc är ett C-bibliotek som tillhandahåller systemanrop och grundläggande funktioner, såsom open, malloc, printf, etc. Alla dynamiskt anslutna program använder Glibc. En fjärrangripare kan utnyttja denna sårbarhet för att köra godtycklig kod och eskalera användarens privilegier som kör applikationen.
4. Sårbarhetsdetekteringsmetoder
Följ instruktionernaDriftKan. #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #define KANARIEFÅGEL"in_the_coal_mine" struct { kolbuffert[1024]; char canary[sizeof(canary)]; } temp = { "buffer", CANARY }; int main(void) { Struct Hostent Resbuf; Struct hostent *resultat; int herrno; int retval; /*** strlen (namn) = size_needed -storlek av (*host_addr) - storlek av (*h_addr_ptrs) - 1; ***/ size_t len = sizeof(temp.buffer) -16*sizeof(osignerad char) - 2*sizeof(char *) - 1; char name[sizeof(temp.buffer)]; memset (namn, '0', len); name[len] = '\0'; retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); om (strcmp(temp.canary, CANARY) !=0) { puts("sårbar"); utgång(EXIT_SUCCESS); } om (retval == ERANGE) { puts("ickesårbar"); utgång(EXIT_SUCCESS); } puts ("bör inte hända"); utgång(EXIT_FAILURE);
}
Spara som GHOST.c Kör gcc GHOST.c -o GHOST
$./GHOST novulnerable Representerar en lyckad reparation.
5. Föreslå reparationsplaner
Särskild notis: Eftersom glibc är en grundläggande komponent i Linux-systemet, rekommenderas det för att undvika patchning på din server att du väljer en lämplig tid för reparation och ser till att säkerhetskopiera genom snapshot-operationen innan reparation.
Centos 06/5/7:
Yum Update glibc
Ubuntu 12/14
apt-get uppdatering
apt-get install libc6
Debian 6
wget -O /etc/apt/sources.list.d/debian6-lts.listhttp://mirrors.aliyun.com/repo/debian6-lts.list apt-get uppdatering apt-get install libc6
Debian 7
apt-get uppdatering
apt-get install libc6
Opensuse 13
Zypper refresh
Zypper-uppdatering glibc*
Aliyun linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo Yum Update glibc
|