NFsec Logo

Linux – lokalna eskalacja uprawnień w n_hdlc

12/03/2017 w Bezpieczeństwo Możliwość komentowania Linux – lokalna eskalacja uprawnień w n_hdlc została wyłączona

W

parę tygodni po ukazaniu się błędu w protokole DCCP – Andrey Konovalov ponownie odkrywa możliwość eskalacji uprawnień i lokalne uzyskanie praw administratora w sterowniku drivers/tty/n_hdlc.c. Sterownik zapewniający wsparcie dla HDLC występuje jako moduł jądra w wielu dystrybucjach, które mają w konfiguracji ustawioną opcję CONFIG_N_HDLC=m. Standardowo błąd jest obecny w systemie Linux od 2009 roku i również został znaleziony przy pomocy syzkallera. Łatanie systemu jest szybkie i proste, jak w przypadku podatności DCCP – poniżej dla rodziny RedHat:

echo "install n_hdlc /bin/true" >> /etc/modprobe.d/disable-n_hdlc.conf

Więcej informacji: Linux kernel: CVE-2017-2636: local privilege escalation flaw in n_hdlc

DCCP – lokalna eskalacja uprawnień w jądrze Linuksa

25/02/2017 w Bezpieczeństwo Możliwość komentowania DCCP – lokalna eskalacja uprawnień w jądrze Linuksa została wyłączona

N

owa podatność została odnaleziona przez badacza bezpieczeństwa. Andrey Konovalov odkrył za pomocą (do tego stworzonego) fuzzera spod stajni Google błąd w protokole DCCP – The Datagram Congestion Control Protocol. Luka ta podobnie, jak DirtyCow istnieje w jądrze już ponad 11 lat i dotyka wszystkie kluczowe dystrybucje systemu Linux: Debian, Ubuntu, OpenSUSE oraz RedHat. Luka typu use-after-free została rozpoznana w implementacji zwalniania przez DCCP zasobów SKB (buffor gniazda) dla pakietu typu DCCP_PKT_REQUEST kiedy opcja IPV6_RECVPKTINFO jest ustawiona na gnieździe. Lokalny użytkownik jest w stanie wykorzystać ten błąd do modyfikacji pamięci jądra i w ten sposób podniesienia swoich uprawnień w systemie. Warto wspomnieć, że dwa miesiące temu została ujawniona podobna luka w pakiecie AF. Osoby, które nie chcą aktualizować swoich systemów do nowszych wersji np. z powodu obawy o stabilność – powinny zadbać o odpowiednie wpisy blokujące ładowanie wspomnianego modułu.

Więcej informacji: Security expert discovered a new 11-year old privilege escalation vulnerability, tracked as CVE-2017-6074, in the Linux kernel

Ubuntu 14.04, 16.04 LTS i błąd out of memory (oom) killer

29/01/2017 w Administracja, Debug Możliwość komentowania Ubuntu 14.04, 16.04 LTS i błąd out of memory (oom) killer została wyłączona

Jeśli podczas łatania np. DirtyCow na naszym serwerze wyposażonym w Ubuntu Trusty lub Xenial zainstalowane zostało jądro w wersji 4.4.0-59-generic i nagle wcześniej działające bez problemu aplikacje oraz daemony zaczęły zaliczać błędy typu: out of memory (brak pamięci) jest wielce prawdopodobne, że jest to spowodowane błędem, który wkradł się podczas rozwoju wersji. Tymczasowym rozwiązaniem do czasu aż zostanie wydany kolejny patchset naprawiający to zachowanie jest cofnięcie się do wersji: 4.4.0-57.

Więcej informacji: mm, oom: prevent premature OOM killer invocation for high order request

Dirty COW – lokalne podniesienie uprawnień poprzez lukę w jądrze

21/10/2016 w Bezpieczeństwo Możliwość komentowania Dirty COW – lokalne podniesienie uprawnień poprzez lukę w jądrze została wyłączona

9

letni błąd w jądrze systemu Linux pozwala na lokalne podniesienie uprawień poprzez sytuację wyścigu w sposobie, w jaki podsystem pamięci obsługuje kopiowanie przy zapisie (Copy On Write – COW). Nieuprzywilejowany użytkownik może wykorzystać tę lukę, aby zdobyć dostęp do zapisu zmapowanej pamięci będącej normalnie tylko do odczytu i tym samym podnieść swoje uprawnienia. Skutkuje to możliwością obejścia standardowego mechanizmu uprawnień oraz modyfikacją wrażliwych plików binarnych systemu. Błąd istnieje od 2007 roku, czyli mniej więcej od wersji 2.6.22 i został naprawiony 18.10.2016. Luka nadal mogła zostać w ukryciu, gdyby nie Phil Oester, który przeanalizował włamanie na jeden ze swoich serwerów (przechwytywał cały, przychodzący ruch do swoich webserwerów – jak twierdzi zawsze to pomaga w informatyce śledczej) i odtworzył binarny plik eksploita użytego przez włamywacza. Przeanalizował jego działanie i przekazał oficjalnym opiekunom jądra Linuksa. PoCe znajdują się tutaj.

Więcej informacji: Dirty COW (CVE-2016-5195) is a privilege escalation vulnerability in the Linux Kernel

Linux 4.7 otrzymał nową funkcję zabezpieczeń przeniesionych z Chrome OS

30/07/2016 w Administracja, Bezpieczeństwo Możliwość komentowania Linux 4.7 otrzymał nową funkcję zabezpieczeń przeniesionych z Chrome OS została wyłączona

N

ajnowsza wersja Linuksa otrzymała nową funkcję bezpieczeństwa o nazwie “LoadPin”, która została przeniesiona z systemu Chrome OS i umożliwia wprowadzenie ograniczeń odnośnie nośników i lokalizacji, z których mogą być ładowane moduły i firmware jądra. Innymi słowy LoadPin jest nowym mini Modułem Bezpieczeństwa Linuksa (ang. Linux Security ModuleLSM, który przechwytuje skonsolidowany zaczep LSM wywołania kernel_file_read, aby nasz system ładował wszystkie dodatki (moduły, firmware, obrazy kexec, polityki bezpieczeństwa) pochodzące z jednego zaufanego systemu plików. Poprzez zaufany system plików rozumie się tutaj taki, który jest umieszczony na urządzeniu tylko tylko-do-odczytu (np. CDROM lub dm-verity [wbudowany w Androidowe jądro od czasów wersji 4.4]). Niweluje to konieczność podpisywania każdego ładowanego pliku z osobna, ponieważ pierwszy plik ładowany przez interfejs odczytu plików jądra jest “przypinany” do systemu plików użytego do załadowania, a wszystkie pliki pochodzące z poza niego są odrzucane. Włączeniem lub wyłączeniem funkcji możemy sterować poprzez opcję SECURITY_LOADPIN_ENABLED w jądrze lub parametrem loadpin.enabled=1/0 przy starcie systemu.

Więcej informacji: The LoadPin security module

Keysniffer (keylogger) jako moduł do jądra Linuksa

22/05/2016 w Bezpieczeństwo Możliwość komentowania Keysniffer (keylogger) jako moduł do jądra Linuksa została wyłączona

A

run Prakash Jana napisał moduł do jądra Linuksa, który przechwytuje naciśnięcia klawiszy na klawiaturze. Współpracuje z klawiaturami o układzie US (i zgodnych z nimi komputerami przenośnymi). Przyciśnięte klawisze są zapisywane w przestrzeni systemu plików pomagającym w debugowaniu innych systemów plików – debugfs tak długo dopóki moduł pozostaje załadowany w systemie.
[ czytaj całość… ]

Żegnaj OverlayFS

26/02/2016 w Bezpieczeństwo Możliwość komentowania Żegnaj OverlayFS została wyłączona

N

a razie czas pożegnać się z systemem plików overlayfs dostępnym w jądrze Linux od wersji 3.18. Ostatnio ponownie pojawiły się kolejne błędy bezpieczeństwa w tym module. Jest to ostatnio jeden z najczęstszych składników wchodzących w skład możliwości eksploatacji bezpieczeństwa jądra. Skoro w systemie Ubuntu jest tylko modułem do załadowania, a na systemie nie uruchamiane są żadne kontenery – można go prosto wyłączyć tworząc plik /etc/modprobe.d/blacklist-ofs.conf:

# Overlayfs security issues
blacklist overlayfs
install overlayfs /bin/false

Ewidetnie widać, że projekt jest na razie zbyt młody pod względem kodu, aby mógł zostać z powodzeniem stosowany w systemach produkcyjnych.

Nowa luka zero-day w jądrze Linuksa (CVE-2016-0728)

19/01/2016 w Ataki Internetowe, Bezpieczeństwo 1 komentarz.

P

erception Point ujawnił nową lukę bezpieczeństwa typu zero-day w jądrze systemu Linux, która umożliwia nieuprawnione podniesienie praw użytkownika do roli administratora (root). Luka istniała od 2012 roku, a aktualnie dotyka każdą maszynę wyposażoną w jądro Linux w wersji 3.8 i wyższej (oprócz dziesiątek milionów serwerów i komputerów podatne są także telefony z systemem Android KitKat i nowsze). Wykorzystując tą podatność atakujący są w stanie kasować i wyświetlać prywatne dane oraz instalować szkodliwe oprogramowanie. Kernel security team zostało już powiadomione i dzięki Red Hat Security team poprawki powinny zacząć pojawiać się w najbliższym czasie. Zalecamy jak najszybszą aktualizację.

Więcej informacji: Analysis and Exploitation of a Linux Kernel Vulnerability (CVE-2016-0728)

Intel Memory Protection Extensions w 3.19

22/11/2015 w Bezpieczeństwo Możliwość komentowania Intel Memory Protection Extensions w 3.19 została wyłączona

I

ntel w nowej mikroarchitekturze Skylake, która w sierpniu 2015 zastąpiła mikroarchitekturę Broadwell wprowadził rozszerzenie MPX – Memory Protection Extensions. MPX to rozszerzenie sprzętowe mające zapobiegać atakom przepełnienia bufora.
[ czytaj całość… ]

Intel(R) 10 Gigabit PCI Express Network Driver performance degradation

02/10/2015 w Administracja, Debug Możliwość komentowania Intel(R) 10 Gigabit PCI Express Network Driver performance degradation została wyłączona

O

statnio podczas testów linków 10G zauważyłem ciekawą zależność. Testując różne wersje jądra w systemie Ubuntu 12.04 ze względu na różne problemy z obsługą systemu plików ext4 na świat wyszedł inny błąd powiązany z sterownikiem sieciowym. Dla wersji jądra: Linux darkstar 3.13.0-32-generic #57~precise1-Ubuntu SMP test linków za pomocą iperf prezentuje się następująco:
[ czytaj całość… ]