Glibc Stack-based Buffer Overflow (CVE-2015-7547 i CVE-2015-5229)
Napisał: Patryk Krawaczyński
21/02/2016 w Bezpieczeństwo Brak komentarzy. (artykuł nr 508, ilość słów: 228)
K
rytyczny błąd przepełnienia bufora na stosie został odkryty w sposobie w jaki biblioteka libresolv (glibc) przeprowadza podwójne zapytania DNS typu A/AAAA. Osoba atakująca może potencjalnie doprowadzić do zdalnego wykonania kodu (z uprawnieniami użytkownika uruchomiającymi bibliotekę) lub zawieszenia systemu poprzez specjalnie spreparowany ruch sieciowy w odpowiedzi DNS (PoC). Problem ten występuje tylko wtedy, gdy libresolv jest wywołana z modułu nss_dns usługi NSS (CVE-2015-7547).
Dodatkowo stwierdzono, że wywołanie funkcji calloc w glibc może zwrócić obszary pamięci zawierające niezerowe bajty. Może to spowodować nieoczekiwane zachowanie aplikacji takie, jak jej zawieszanie lub wyłożenie (CVE-2015-5229). Wszystkie wersje glibc od wersji 2.9 są dotknięte tym błędem. Najlepszym rozwiązaniem jest, aby załatać zarówno serwery, jak i klienckie stacje robocze oparte na systemie Linux. Lista aktualnie dotkniętych dystrybucji to:
- Red Hat Enterprise Linux Server 7
- Red Hat Enterprise Linux Server 6
- CentOS Linux 7
- CentOS Linux 6
- Debian Linux 6 squeeze
- Debian Linux 7 wheezy
- Debian Linux 8 jessie
- Ubuntu Linux 15.10
- Ubuntu Linux 14.04 LTS
- Ubuntu Linux 12.04 LTS
- SUSE Linux Enterprise Linux 11
- SUSE Linux Enterprise Linux 12
- openSUSE Leap 42.1
Jak sprawdzić jakiej wersji używa mój system?
ldd --version
Poprawione wersje w dystrybucji Ubuntu to:
- Ubuntu 15.10: libc6 2.21-0ubuntu4.1
- Ubuntu 14.04 LTS: libc6 2.19-0ubuntu6.7
- Ubuntu 12.04 LTS: libc6 2.15-0ubuntu10.13
Należy pamiętać, aby zrestartować wszystkie usługi, które są zależne od glibc.
Więcej informacji: CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow, RHSA-2016:0176 – Security Advisory