Критична уразливість бібліотеки glibc дозволяє здійснювати віддалене виконання коду



Дослідники Google обнаружили критичну уразливість в бібліотеці glibc (GNU C Library). У функції
getaddrinfo()
, яка відповідає за розбір доменних імен, відбувається переповнення буфера — помилка дозволяє зловмисникам здійснювати віддалене виконання коду.

Експлуатація уразливості, що отримала позначення CVE-2015-7547, можлива у випадках, коли вразливі пристрою або програми відправляють запити контролюємо хакерами доменам і серверів, а також у разі проведення атаки типу man-in-the-middle.

Все дуже серйозно

У своєму блозі дослідники Google пишуть, що виявили уразливість, коли у використовуваному ними SSH-клієнта при спробі з'єднання з певною адресою раз за разом почала виникати помилка сегментації. У ході розглядів з'ясувалося, що всьому виною переповнення буфера в glibc, і що ця помилка може призвести до віддаленого виконання коду.

Бібліотека glibc використовується у великій кількості популярних Linux-додатків — за твердженнями дослідників, вже підтверджена інформація про уразливості утиліт wget, SSH, sudo і curl. Загальне число вразливих додатків настільки велике, що скласти повний список не представляється можливим — у розмові з виданням Ars Technica дослідник безпеки Кен Уайт заявив, що уразливість міститься у всіх дистрибутивах Linux, а також мови програмування Python, PHP, Ruby on Rails. сообщения про те, що помилка міститься і в більшій частині додатків для роботи з криптовалютой биткоин.

На подив дослідників, виявилося, що мейнтейнери, відповідальні за glibc, знали про помилку ще в липні минулого року. Крім того, з'ясувалося, що паралельно з експертами Google і незалежно від них виявили уразливість і фахівці Red Hat — продукти цієї компанії також вразливі (список). В результаті дві команди об'єднали зусилля для створення патча.

На Github також доступна proof-of-concept-реалізація експлоїта.

Як захиститися

Фахівці, що займаються підтримкою glibc, вже випустили патч, виправляє помилку. В деяких випадках досить просто встановити його, однак, якщо софт був скомпільований з використанням вразливою версії glibc, то його потрібно перекомпілювати з новою версією.

Якщо встановити патч з якоїсь причини неможливо, дослідники описують способи зниження ймовірності експлуатації уразливості. Перш за все, для експлуатації необхідні великі пакети UDP або TCP-відповідей (2048+ байт) — приходять один за одним такі пакети замінюють стек. Протидіяти цьому можна, обмеживши розмір пакетів з відповідями, які приймає локальний DNS-резолвер. Зробити це можна з допомогою DNSMasq або аналогічних програм. Крім того, слід переконатися, що DNS-запити надсилаються тільки DNS-серверів, які обмежують розмір UDP-відповідей.

Мейнтейнери glibc і дали свої рекомендації з протидії атакам з використанням уразливості. Вони включають використання міжмережевого екрану, який відхиляє UDP DNS-пакети розміром більше 512 байт, відмова від використання AF_UNSPEC, `options edns0` у /etc/resolv.conf, а также'RES_USE_EDNS0` або `RES_USE_DNSSEC`.

Існують і пакети, які не містять цю помилку — наприклад, у мобільної ОС Google Android замість glibc використовується бібліотека Bionic. Крім того, багато які використовуються приватними користувачами пристрою —наприклад, домашні роутери — також працюють з встановленими альтернативними glibc бібліотеками, про уразливості яких інформації на даний момент немає.

Це не перший випадок виявлення в glibc критичних вразливостей, які можуть призвести до віддаленого виконання коду. Так в січні 2015 року була виявлена уразливість CVE-2015-0235, отримала назву GHOST. Вона дозволяла зловмиснику отримати віддалений контроль над системою. Під ударом опинилися користувачів Debian 7 (wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04, а також Zend Framework v2, Wordpress і ряд інших популярних додатків.

Фахівці Positive Technologies рекомендують всім користувачам і розробникам, чиї системи можуть бути вразливі, як можна швидше встановити оновлення безпеки. Крім того, знизити ризик експлуатації уразливості можна, застосувавши рекомендації мейнтейнерів glibc і дослідників Google, а також за допомогою використання спеціальних інструментів захисту, наприклад MaxPatrol.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.