Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 13297|Отговор: 2

[linux] Уведомление за отстраняване на критична уязвимост в Linux Glibc библиотеката (важно)

[Копирай линк]
Публикувано в 30.01.2015 г. 18:36:02 ч. | | |
Здравейте, преди няколко дни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];   
  char canary[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', Лен);   
  name[len] = '\0';   
  retval = gethostbyname_r(име,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);   
  ако (strcmp(temp.canary, CANARY) !=0) {   
    puts ("уязвим");   
    изход(EXIT_SUCCESS);   
  }   
  ако (retval == ERANGE) {   
    puts ("неуязвим");   
    изход(EXIT_SUCCESS);   
  }   
  puts("не трябва да се случва");   
  exit(EXIT_FAILURE);   
}


Запази като GHOST.c
Пусни gcc GHOST.c -o GHOST


$./GHOST   
неуязвими
Представлява успешен ремонт.


5. Предложете планове за ремонт


Специална бележка: Тъй като glibc е основен компонент на Linux системата, за да избегнете въздействието на пачове върху сървъра си, се препоръчва да изберете подходящо време за ремонт и да направите резервно копие чрез операцията snapshot преди ремонта.



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 refresh
Zypper update glibc*


Aliyun linux 5u7


wget -O /etc/yum.repos.d/aliyun-5.repohttp://mirrors.aliyun.com/repo/aliyun-5.repo  
Yum Update Glibc





Предишен:C# копирайте и поставете текстова информация в клипборда
Следващ:html dl dt dd синтаксисна структура и употреба на елемент таг
Публикувано в 30.01.2015 г. 20:51:58 ч. |
е оправена.
Публикувано в 31.01.2015 г. 18:49:17 ч. |
base | 3.7 kB 00:00     
base/primary_db | 4.6 MB 00:01     
epel | 4.4 kB 00:00     
epel/primary_db | 6.3 MB 00:02     
Екстри | 3.4 kB 00:00     
Екстри/primary_db |  30 kB 00:00     
Актуализации | 3.4 kB 00:00     
Актуализации/primary_db | 2.1 MB 00:00     
Настройка на процеса на обновяване
Разрешаване на зависимости
--> Провеждам проверка на транзакцията
---> Пакет glibc.x86_64 0:2.12-1.132.el6_5.2 ще бъде актуализиран
--> Зависимост от обработката: glibc = 2.12-1.132.el6_5.2 за пакет: glibc-devel-2.12-1.132.el6_5.2.x86_64
--> Зависимост от процесора: glibc = 2.12-1.132.el6_5.2 за пакет: glibc-headers-2.12-1.132.el6_5.2.x86_64
--> Зависимост от обработката: glibc = 2.12-1.132.el6_5.2 за пакет: glibc-common-2.12-1.132.el6_5.2.x86_64
--> Зависимост от обработката: glibc = 2.12-1.132.el6_5.2 за пакет: nscd-2.12-1.132.el6_5.2.x86_64
---> Пакет glibc.x86_64 0:2.12-1.149.el6_6.5 ще бъде актуализация
--> Провеждам проверка на транзакцията
---> Пакетът glibc-common.x86_64 0:2.12-1.132.el6_5.2 ще бъде актуализиран
---> Пакетът glibc-common.x86_64 0:2.12-1.149.el6_6.5 ще бъде актуализация
---> Пакетът glibc-devel.x86_64 0:2.12-1.132.el6_5.2 ще бъде обновен
---> Пакетът glibc-devel.x86_64 0:2.12-1.149.el6_6.5 ще бъде актуализация
---> Пакетът glibc-headers.x86_64 0:2.12-1.132.el6_5.2 ще бъде обновен
---> Пакетът glibc-headers.x86_64 0:2.12-1.149.el6_6.5 ще бъде актуализация
---> Пакет nscd.x86_64 0:2.12-1.132.el6_5.2 ще бъде актуализиран
---> Пакет nscd.x86_64 0:2.12-1.149.el6_6.5 ще бъде актуализация
--> Завършено разрешаване на зависимостта

Разрешени зависимости

=========================================================================================
Размер на хранилището на версията на архива на пакета
=========================================================================================
Updating:
glibc x86_64 2.12-1.149.el6_6.5 актуализации 3.8 M
Актуализация за зависимости:
glibc-common x86_64 2.12-1.149.el6_6.5 актуализации 14 M
Glibc-devel x86_64 2.12-1.149.el6_6.5 Актуализации 983 K
glibc-headers x86_64 2.12-1.149.el6_6.5 Актуализации 612 K
NSCD x86_64 2.12-1.149.el6_6.5 Актуализации 223 K

Обобщение на транзакцията
=========================================================================================
Пакет(и) за ъпгрейд 5

Общ размер на изтеглянето: 20 M
Добре ли е това [y/N]: y
Изтегляне на пакети:
(1/5): glibc-2.12-1.149.el6_6.5.x86_64.rpm | 3.8 MB 00:00     
(2/5): glibc-common-2.12-1.149.el6_6.5.x86_64.rpm |  14 MB 00:03     
(3/5): glibc-devel-2.12-1.149.el6_6.5.x86_64.rpm | 983 kB 00:00     
(4/5): glibc-headers-2.12-1.149.el6_6.5.x86_64.rpm | 612 kB 00:00     
(5/5): NSCD-2.12-1.149.el6_6.5.x86_64.rpm | 223 kB 00:00     
-----------------------------------------------------------------------------------------
Общо 4.6 MB/s |  20 MB 00:04     
Бягане rpm_check_debug
Провеждане на тест за транзакции
Транзакционният тест беше успешен
Текуща транзакция
  Актуализация: glibc-2.12-1.149.el6_6.5.x86_64 1/10
  Актуализация: glibc-common-2.12-1.149.el6_6.5.x86_64 2/10
  Актуализация: glibc-headers-2.12-1.149.el6_6.5.x86_64 3/10
  Актуализация: glibc-devel-2.12-1.149.el6_6.5.x86_64 4/10
  Актуализация: nscd-2.12-1.149.el6_6.5.x86_64 5/10
  Почистване : glibc-devel-2.12-1.132.el6_5.2.x86_64 6/10
  Почистване: glibc-headers-2.12-1.132.el6_5.2.x86_64 7/10
  Почистване: nscd-2.12-1.132.el6_5.2.x86_64 8/10
  Почистване: glibc-common-2.12-1.132.el6_5.2.x86_64 9/10
  Почистване: glibc-2.12-1.132.el6_5.2.x86_64 10/10
  Проверка: nscd-2.12-1.149.el6_6.5.x86_64 1/10
  Проверка: glibc-common-2.12-1.149.el6_6.5.x86_64 2/10
  Проверка: glibc-devel-2.12-1.149.el6_6.5.x86_64 3/10
  Проверка: glibc-headers-2.12-1.149.el6_6.5.x86_64 4/10
  Проверка: glibc-2.12-1.149.el6_6.5.x86_64 5/10
  Проверка: glibc-headers-2.12-1.132.el6_5.2.x86_64 6/10
  Проверка: nscd-2.12-1.132.el6_5.2.x86_64 7/10
  Проверка: glibc-devel-2.12-1.132.el6_5.2.x86_64 8/10
  Проверка: glibc-2.12-1.132.el6_5.2.x86_64 9/10
  Проверка: glibc-common-2.12-1.132.el6_5.2.x86_64 10/10

Updated:
  glibc.x86_64 0:2.12-1.149.el6_6.5                                                      

Зависимостта е обновена:
  glibc-common.x86_64 0:2.12-1.149.el6_6.5 glibc-devel.x86_64 0:2.12-1.149.el6_6.5   
  glibc-headers.x86_64 0:2.12-1.149.el6_6.5 nscd.x86_64 0:2.12-1.149.el6_6.5         

Завършено!
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com