Napisał: Patryk Krawaczyński
08/03/2022 w Bezpieczeństwo
P
odatność o nazwie Dirty Pipe została znaleziona w jądrze Linuksa od wersji 5.8, a dokładniej od commit’u f6dd975583bd ("pipe: merge anon_pipe_buf*_ops"
). W funkcjach copy_page_to_iter_page
i push_pipe
element "flags"
nowej struktury bufora potoku nie był odpowiednio inicjalizowany, przez co mógł zawierać nieaktualne wartości. Luka ta umożliwia nieuprzywilejowanemu użytkownikowi na zapis stron w pamięci podręcznej, a tym samym dowolnych danych do dowolnych plików, nawet jeśli są one w trybie O_RDONLY – tylko do odczytu, immutable (chattr +i) – posiadają atrybut, niepozwalający nawet administratorowi ich modyfikować lub są zamontowane na systemie plików do tylko do odczytu – MS_RDONLY. Dotyczy to także procesów SUID, które są uruchamiane z prawami administratora. Max Kellermann, który jest autorem luki wspomina, że jest ona podobna do CVE-2016-5195 “Dirty Cow“, ale łatwiej ją wykorzystać. Ze względu na odpowiedzialne ujawnienie podatności została ona załatana już w wersjach jądra: 5.16.11, 5.15.25 oraz 5.10.102.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
13/06/2019 w Bezpieczeństwo
K
rytyczna luka bezpieczeństwa została wykryta przez badaczy z Qualys i występuje w kilku wersjach oprogramowania agenta pocztowego Exim (ang. Mail Transfer Agent). Umożliwia ona na lokalne oraz zdalne ataki nieuwierzytelnionym użytkownikom za pomocą wykonywania dowolnych poleceń (nie mylić z dowolnym wykonywaniem kodu) na serwerach pocztowych. Luka jest obecna w wersji od 4.87 do 4.91 i jest spowodowana niewłaściwą weryfikacją adresów odbiorców w funkcji deliver_message()
(źródło znajduje się w pliku: /src/deliver.c
):
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
22/12/2017 w Bezpieczeństwo
J
ądro Linuksa zbudowane ze wsparciem wywołania systemowego bpf(2)
(CONFIG_BPF_SYSCALL
) podatne jest na uzyskanie dostępu do odczytu i zapisu przestrzeni adresowej jądra. Do błędu może dojść, gdy użytkownik systemu uruchomi szkodliwy program BPF powodujący błędy obliczeń w module weryfikatora (funkcja check_alu_op) Berkeley Packet Filter. Tym samym nieuprawniony użytkownik może wykorzystać tę lukę do eskalacji swoich uprawnień w systemie. Podatne są wersje jądra od 4.9 do 4.14.8. Ograniczenie luki jest możliwe poprzez ustawienie opcji w sysctl:
echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
lub
sysctl -w kernel.unprivileged_bpf_disabled=1
echo kernel.unprivileged_bpf_disabled=1 | \
tee /etc/sysctl.d/90-CVE-2017-16995-CVE-2017-16996.conf
Spowoduje ona zablokowanie dostępu do wywołania bpf()
dla nieuprawnionych użytkowników (ponowne jej wyłączenie wymagać będzie restartu systemu).
Więcej informacji: Unprivileged bpf(), Debian, RedHat/CentOS, Ubuntu
Napisał: Patryk Krawaczyński
20/06/2017 w Bezpieczeństwo
Czym jest Stack Clash? Jest to eksploatacja błędu w zarządzaniu pamięci oparta na dość starej (12 letniej) technice. Dotyka ona kilku systemów operacyjnych: Linuksa, OpenBSD, NetBSD, FreeBSD oraz Solarisa dla architektury i386 oraz amd64. Technika ta może zostać wykorzystana przez atakujących do naruszenia bezpieczeństwa pamięci oraz wykonania dowolnego kodu. Polega ona na pewnej zależności: każdy program uruchomiony na komputerze używa specjalnego obszaru pamięci zwanego stosem (ang. stack). Obszar tej pamięci jest szczególny, ponieważ rośnie automatycznie wraz z zapotrzebowaniem na niego przez program. Jeśli jednak przyrost jest zbyt duży i zbliży się do innego obszaru pamięci (na przykład sterty – ang. heap) może dojść do sytuacji, w której program może pomylić stos z innym obszarem pamięci. Daje to możliwość wykorzystania owego zamieszania do nadpisania stosu przez inny obszary pamięci lub odwrotnie.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
21/10/2016 w Bezpieczeństwo
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
Napisał: Patryk Krawaczyński
01/10/2016 w Bezpieczeństwo
P
akiety zawierające serwer Tomcat (w wersji 6, 7, 8) dostępne w oficjalnych repozytoriach systemów Linux opartych o dystrybucje Debian (wliczając w to Ubuntu) dostarczały podatny skrypt init pozwalający osobom atakującym, które przeniknęły do systemu na konto użytkownika tomcat (na przykład wcześniej eksplorując podatność zdalnego wykonania kodu w hostowanej aplikacji java) na podniesienie uprawnień do użytkownika root i w pełni skompromitować atakowany system. Autor luki powiadomił Debian Security Team i zostały wydane już odpowiednie aktualizacje bezpieczeństwa.
Jeśli pozostajemy w obszarze serwera tomcat warto również zapoznać się z możliwością odczytywania źródłowego kodu za pomocą tego serwera wykorzystując znaki kodowane procentowo.
Więcej informacji: Szczegóły ataku oraz exploit wykorzystujący podatność
Ostatni komentarz :