Tere, paar päeva tagasiLinuxGNU glibc standardteegi gethostbyname funktsioonis on avastatud puhvri ületäitumise haavatavus ning haavatavuse number on CVE-2015-0235. Häkkerid saavad kasutada gethostbyname funktsioonide seeriat kaugkoodi käivitamiseks ja selle hankimiseksServerSellel haavatavusel on palju päästikuteid ja ulatuslik mõju, palun pöörake sellele tähelepanu ja parandage see ajutiselt õigeaegselt, uuendame seda nii kiiresti kui võimalikPeegeldamineParanda. Palun tea.
1. Haavatavuse vabastamise kuupäev
201527. jaanuar 2019
2. Tarkvara ja süsteemid, mille edukas kasutamine on kinnitatud
Glibc 2.2Kuni versioonini 2.17 (sisaldab versioone 2.2 ja 2.17)
3. Haavatavuste kirjeldus
GNU glibcPuhvri ületäitumise haavatavus paljastati standardteegi gethostbyname funktsioonis ning haavatavuse number on CVE-2015-0235. Glibc on C-teek, mis pakub süsteemikutseid ja põhifunktsioone, nagu open, malloc, printf jne. Kõik dünaamiliselt ühendatud programmid kasutavad Glibc-i. Kaugründaja võiks seda haavatavust ära kasutada, et käivitada suvalist koodi ja tõsta rakendust käitava kasutaja õigusi.
4. Haavatavuse tuvastamise meetodid
Järgi juhiseidTöökorraldusVõib. #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #define KANARILIND"in_the_coal_mine" struct { char buffer[1024]; char canary[sizeof(CANARY)]; } temp = { "buffer", CANARY }; int main(void) { struct hostent resbuf; struct hostent *tulemus; Int Herrno; intellekt retval; /*** strlen (nimi) = size_needed -(*host_addr) suurus - (*h_addr_ptrs) suurus - 1; ***/ size_t len = sizeof(temp.buffer) -16*sizeof(märgistamata tegelane) - 2*sizeof(tegelane *) - 1; char name[sizeof(temp.buffer)]; memset (nimi, '0', lens); nimi[len] = '\0'; retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); if (strcmp(temp.kanari, KANARI) !=0) { ("haavatav"); väljapääs (EXIT_SUCCESS); } if (retval == ORANŽ) { ("mittehaavatav"); väljapääs (EXIT_SUCCESS); } ("ei tohiks juhtuda"); väljumine (EXIT_FAILURE);
}
Salvesta kui GHOST.c Käivita gcc GHOST.c -o GHOST
$./KUMMITUS Novulnerable Tähistab edukat parandust.
5. Soovita parandusplaane
Erimärkus: Kuna glibc on Linuxi süsteemi põhikomponent, siis selleks, et vältida paranduse mõju serverile, soovitatakse valida sobiv aeg parandamiseks ning enne parandamist varundada snapshot'i operatsiooni.
Centos 5/6/7:
Yum uuendus glibc
Ubuntu 12/14
apt-get uuendus
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 uuendus apt-get install libc6
Debian 7
apt-get uuendus
apt-get install libc6
Opensuse 13
Zypper Refresh
Zypperi uuendus glibc*
Aliyun Linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo Yum uuendus glibc
|