Hei, for noen dager sidenLinuxEn buffer overflow-sårbarhet er oppdaget i gethostbyname-funksjonen i GNU glibc-standardbiblioteket, og sårbarhetsnummeret er CVE-2015-0235. Hackere kan bruke gethostbyname-serien av funksjoner for å kjøre ekstern kode og hente denServerDenne sårbarheten har mange utløsende veier og stor innvirkning, vennligst vær oppmerksom på og fiks den midlertidig i tide, så vil vi oppdatere den så snart som muligSpeilingFiks. Vær så snill å vite.
1. Sårbarhetsutgivelsesdato
201527. januar 2019
2. Programvare og systemer som er bekreftet å være vellykket brukt
Glibc 2.2Opp til 2.17 (inkluderer versjonene 2.2 og 2.17)
3. Beskrivelse av sårbarheter
GNU glibcEn buffer overflow-sårbarhet ble eksponert i gethostbyname-funksjonen i standardbiblioteket, og sårbarhetsnummeret er CVE-2015-0235. Glibc er et C-bibliotek som tilbyr systemkall og grunnleggende funksjoner, som open, malloc, printf osv. Alle dynamisk tilkoblede programmer bruker Glibc. En fjernangriper kan utnytte denne sårbarheten til å kjøre vilkårlig kode og eskalere rettighetene til brukeren som kjører applikasjonen.
4. Sårbarhetsdeteksjonsmetoder
Følg instruksjoneneDriftBoks. #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #define CANARY"in_the_coal_mine" struct { køyebuffer[1024]; char canary[sizeof(CANARY)]; } temp = { "buffer", CANARY }; int main(void) { Struct Hostent Resbuf; Struct hostent *resultat; Int Herrno; Int Retval; /*** strlen (navn) = size_needed -størrelse av (*host_addr) - størrelse av (*h_addr_ptrs) - 1; ***/ size_t len = sizeof(temp.buffer) -16*sizeof(unsigned char) - 2*sizeof(char *) - 1; char name[sizeof(temp.buffer)]; memset (navn, '0', len); name[len] = '\0'; retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); hvis (strcmp(temp.canary, CANARY) !=0) { puts ("sårbar"); utgang(EXIT_SUCCESS); } hvis (retval == ERANGE) { puts ("ikkesårbar"); utgang(EXIT_SUCCESS); } puts("bør ikke skje"); utgang(EXIT_FAILURE);
}
Lagre som GHOST.c Kjør gcc GHOST.c -o GHOST
$./GHOST novulnerable Representerer en vellykket reparasjon.
5. Foreslå reparasjonsplaner
Spesiell merknad: Siden glibc er en grunnleggende komponent i Linux-systemet, anbefales det at du velger et passende tidspunkt for reparasjon og sørger for å ta backup gjennom snapshot-operasjonen før reparasjon for å unngå patching på serveren din.
Centos 06.05.7:
Nam oppdatering glibc
Ubuntu 12/14
apt-get oppdatering
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 oppdatering apt-get install libc6
Debian 7
apt-get oppdatering
apt-get install libc6
Opensuse 13
Zypper Refresh
Zypper-oppdatering glibc*
Aliyun linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo Nam oppdatering glibc
|