Привіт, кілька днів томуLinuxВиявлено вразливість переповнення буфера у функції gethostbyname стандартної бібліотеки GNU glibc, а номер вразливості — CVE-2015-0235. Хакери можуть використовувати серію функцій gethostbyname для виконання віддаленого коду та його отриманняСерверЦя вразливість має багато шляхів тригерів і широкий масштаб впливу, будь ласка, зверніть увагу на неї та тимчасово виправте її вчасно, і ми оновимо її якнайшвидшеДзеркалюванняВиправляю. Будь ласка, знайте.
1. Дата виходу вразливості
201527 січня 2019 року
2. Програмне забезпечення та системи, які підтверджені як успішні використання
Glibc 2.2До версії 2.17 (включає версії 2.2 та 2.17)
3. Опис вразливостей
GNU glibcВразливість переповнення буфера була виявлена у функції gethostbyname стандартної бібліотеки, а номер вразливості — CVE-2015-0235. Glibc — це бібліотека на C, яка надає системні виклики та базові функції, такі як open, malloc, printf тощо. Усі динамічно підключені програми використовують Glibc. Віддалений зловмисник може використати цю вразливість для виконання довільного коду та підвищення привілеїв користувача, який запускає додаток.
4. Методи виявлення вразливостей
Дотримуйтесь інструкційЕксплуатаціяМожете. #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #define КАНАРКА"in_the_coal_mine" struct { char buffer[1024]; канарка[sizeof(CANARY)]; } temp = { "buffer", CANARY }; int main(void) { struct hostent resbuf; struct hostent *result; Інт Геррно; int retval; /*** strlen (ім'я) = size_needed -sizeof (*host_addr) - sizeofof (*h_addr_ptrs) - 1; ***/ size_t len = sizeof(temp.buffer) -16*sizeof(unsigned char) - 2*sizeof(char *) - 1; ім'я символу[sizeof(temp.buffer)]; memset (ім'я, '0', Лен); ім'я[len] = '\0'; retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); якщо (strcmp(temp.canary, CANARY) !=0) { puts («вразливий»); вихід(EXIT_SUCCESS); } якщо (retval == ERANGE) { puts("notvulable"); вихід(EXIT_SUCCESS); } puts("не повинен бути"); вихід(EXIT_FAILURE);
}
Зберегти як GHOST.c Запусти gcc GHOST.c -o GHOST
$./GHOST неуразливий Це означає успішний ремонт.
5. Запропонуйте плани ремонту
Особлива примітка: Оскільки glibc є базовим компонентом системи Linux, щоб уникнути впливу патчів на сервер, рекомендується обрати відповідний час для ремонту і обов'язково зробити резервну копію за допомогою операції знімка перед ремонтом.
Centos 5/6/7:
Yum Update Glibc
Ubuntu 12/14
apt-get оновлення
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 оновлення apt-get install libc6
Debian 7
apt-get оновлення
apt-get install libc6
Opensuse 13
Оновлення Zypper
Оновлення zypper glibc*
Aliyun linux 5u7
wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo Yum Update Glibc
|