Sveiki, prieš kelias dienasLinuxGNU glibc standartinės bibliotekos funkcijoje gethostbyname aptiktas buferio perpildymo pažeidžiamumas, o pažeidžiamumo numeris yra CVE-2015-0235. Įsilaužėliai gali naudoti gethostbyname funkcijų seriją, kad vykdytų nuotolinį kodą ir jį gautųserverisŠis pažeidžiamumas turi daug paleidimo kelių ir didelį poveikį, atkreipkite dėmesį į jį ir laikinai jį ištaisykite laiku, o mes jį kuo greičiau atnaujinsimeVeidrodisPataisyti. Prašome žinoti.
1. Pažeidžiamumo išleidimo data
20152019 m. sausio 27 d.
2. Programinė įranga ir sistemos, kurių sėkmingas naudojimas patvirtintas
Glibc 2.2Iki 2.17 (apima 2.2 ir 2.17 versijas)
3. Pažeidžiamumų aprašymas
GNU glibcStandartinės bibliotekos funkcijoje gethostbyname buvo atskleistas buferio perpildymo pažeidžiamumas, o pažeidžiamumo numeris yra CVE-2015-0235. Glibc yra C biblioteka, teikianti sistemos iškvietimus ir pagrindines funkcijas, tokias kaip open, malloc, printf ir kt. Visos dinamiškai sujungtos programos naudoja "Glibc". Nuotolinis užpuolikas gali išnaudoti šį pažeidžiamumą, kad vykdytų savavališką kodą ir padidintų programą vykdančio vartotojo teises.
4. Pažeidžiamumo aptikimo metodai
Vykdykite instrukcijasOperacijaGalėti. #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <eilutė.h> #include <errno.h> #define KANARĖLĖ"in_the_coal_mine" struct { anglies buferis[1024]; char canary[sizeof(CANARY)]; } temp = { "buferis", KANARĖLĖ }; int main(void) { struct hostent resbuf; struct hostent *rezultatas; Int Herrno; int retval; /*** strlen (vardas) = size_needed -sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/ size_t len = sizeof(temp.buffer) -16*sizeof(nepasirašytas simbolis) - 2*sizeof(simbolis *) - 1; char name[sizeof(temp.buffer)]; memset(vardas, '0', len); name[len] = '\0'; retval = gethostbyname_r(pavadinimas,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); if (strcmp(temp.canary, CANARY) !=0) { puts ("pažeidžiamas"); išeiti (EXIT_SUCCESS); } if (retval == ERANGE) { puts("nepažeidžiamas"); išeiti (EXIT_SUCCESS); } puts("neturėtų atsitikti"); išėjimas (EXIT_FAILURE);
}
Išsaugoti kaip GHOST.c Paleiskite gcc GHOST.c -o GHOST
$./GHOST nepažeidžiamas Reiškia sėkmingą remontą.
5. Pasiūlykite remonto planus
Speciali pastaba: Kadangi glibc yra pagrindinis Linux sistemos komponentas, norint išvengti pataisymo poveikio serveriui, rekomenduojama pasirinkti tinkamą taisymo laiką ir prieš taisant būtinai sukurti atsarginę kopiją naudojant momentinę kopiją.
Centos 5/6/7:
yum atnaujinti glibc
Ubuntu 12/14
apt-get atnaujinimas
apt-get įdiegti libc6
Debianas 6
wget -O /etc/apt/sources.list.d/debian6-lts.listhttp://mirrors.aliyun.com/repo/debian6-lts.list apt-get atnaujinimas apt-get įdiegti libc6
Debian 7
apt-get atnaujinimas
apt-get įdiegti libc6
Opensuse 13
zypper atnaujinti
zypper atnaujinimas glibc*
Aliyun linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo yum atnaujinti glibc
|