Katalog podatności CVE
Przetłumaczone opisy podatności z bazy NVD NIST - w języku polskim
Katalog CISA KEV zaktualizowany: (v2026.08.18)
Cotygodniowy digest CVE
Jeden mail w tygodniu z nowo opublikowanymi podatnościami, o których warto wiedzieć. Bez zakładania konta.
Digest dotyczy ogólnie nowych podatności, nie Twoich serwerów. Jeśli chcesz wiedzieć, które z nich faktycznie działają w Twojej infrastrukturze, tym zajmuje się Secvalis : skanuje Twoje maszyny i zgłasza wyłącznie to, co ich dotyczy.
W Eclipse OpenJ9 do wersji 0.60, specjalnie spreparowany plik .class z głęboko zagnieżdżonymi adnotacjami powoduje błąd segmentacji.
W module mod_cluster (org.jboss.modcluster) znaleziono błąd w AdvertiseListenerImpl. Pojedynczy spreparowany datagram multicast UDP z prawidłową linią statusu HTTP i nagłówkiem "Server:", ale bez nagłówków "Date:", "Digest:" i "Sequence:", wywołuje wyjątek NullPointerException w verifyDigest(), który nie jest obsługiwany przez procedurę obsługi wyjątków wątku roboczego. Powoduje to trwałe zakończenie wątku nasłuchującego reklamy, a awaria jest cicha (isListening() nadal zwraca true) i utrzymuje się do restartu węzła.
Framework AIL zawiera podatność na podrabianie żądań po stronie serwera (SSRF) w funkcji przesyłania do crawlera. Uwierzytelniony użytkownik z niskimi uprawnieniami może przesłać dowolny adres URL do przeszukania bez odpowiedniej walidacji hosta docelowego. Atakujący może wykorzystać serwer AIL jako punkt pośredni do uzyskania dostępu do usług wewnętrznych, w tym adresów pętli zwrotnej, sieci prywatnych i metadanych chmury.
W swtpm znaleziono podatność na odczyt poza zakresem w funkcji SWTPM_NVRAM_CheckHeader(). Kontrola wpisu sprawdza długość bufora względem sizeof(bh), gdzie bh jest wskaźnikiem, zamiast sizeof(*bh), czyli rzeczywistego rozmiaru struktury. Pozwala to na przejście walidacji przez zbyt mały bufor, powodując 2-bajtowy odczyt poza stertą na systemach 64-bitowych (6 bajtów na 32-bitowych) przy dostępie do pola totlen.
Net::OAuth dla Perla przed wersją 0.33 sprawdza podpisy HMAC-SHA1, HMAC-SHA256 i PLAINTEXT za pomocą porównania nie w stałym czasie w funkcji verify. Każde z trzech porównań używa operatora eq, który zwraca wynik natychmiast po wykryciu różnicy, co pozwala na odtworzenie podpisu bajt po bajcie na podstawie czasu odpowiedzi. W przypadku PLAINTEXT porównywana wartość to sam klucz podpisu, co umożliwia odzyskanie consumer_secret i token_secret.
W bibliotece Net::OAuth dla Perla przed wersją 0.33 nadawca wiadomości może wybrać algorytm podpisu używany do weryfikacji. Parametr signature_method jest wymagany w każdym żądaniu, więc strona weryfikująca nie może narzucić metody. Jeśli wiadomość wskazuje HMAC-SHA1 lub HMAC-SHA256, klucz jest wyprowadzany z consumer_secret i token_secret, a nie z klucza dostawcy. Dostawca używający RSA-SHA1 posiada tylko publiczny klucz konsumenta, a RFC 5849 nie używa consumer_secret dla tej metody, więc wymagany parametr jest wypełniany wartością zastępczą. Klient, który zamiast tego użyje HMAC-SHA1, ma sprawdzany podpis względem tej wartości zastępczej, więc łatwa do odgadnięcia wartość wystarczy do sfałszowania żądań dla dowolnego klucza konsumenta i tokena.
Kod zrzutu rdzenia ELF zliczał liczbę wpisów mapy VM, które można zrzucić, alokował bufor dla odpowiednich nagłówków programów, a następnie iterował po mapie drugi raz, aby je wypełnić. Proces współdzielący przestrzeń adresową przez rfork(2) może zmienić mapę między dwoma przebiegami, co powoduje zapis nagłówków programów poza końcem bufora. Nieuprzywilejowany użytkownik lokalny współdzielący przestrzeń adresową z procesem, który zrzuca rdzeń, może wywołać zapis poza zakresem na stercie jądra, potencjalnie prowadząc do eskalacji uprawnień.
Polecenia GETALL i SETALL w semctl(2) rejestrowały liczbę semaforów w docelowym zestawie, zwalniały blokadę chroniącą zestaw, alokowały bufor o rozmiarze odpowiadającym tej liczbie i ponownie przejmowały blokadę. Do weryfikacji, czy zestaw nie został zastąpiony w międzyczasie, używano sprawdzenia numeru sekwencji, ale numer sekwencji zawija się po 0x8000 cyklach tworzenia/niszczenia. Poprzez szybkie niszczenie i odtwarzanie zestawów semaforów pod tym samym indeksem, inny proces może spowodować zawinięcie numeru sekwencji, co pozwala zestawowi z inną liczbą semaforów przejść walidację. Kolejna kopia odczytuje lub zapisuje poza końcem przydzielonego bufora. Nieuprzywilejowany użytkownik lokalny może wywołać odczyty i zapisy poza zakresem na pamięci sterty jądra, potencjalnie prowadząc do eskalacji uprawnień.
W wyniku niezamierzonego efektu ubocznego niepowiązanej zmiany kodu, PRIV_KTRACE był zawsze odmawiany uwięzionemu użytkownikowi root. Śledzenie skonfigurowane przez uwięzionego roota nie było zatem oznaczane jako uprzywilejowane. Nieuprzywilejowany użytkownik w więzieniu, który ma uprawnienia do debugowania procesu docelowego, może zmodyfikować flagi ktrace(2) uwięzionego roota lub całkowicie wyłączyć śledzenie. Uwięziony root nie może zatem wiarygodnie śledzić nieuprzywilejowanych procesów.
Po wysłaniu operacji deszyfrowania do OCF i otrzymaniu wyniku, sterownik wg(4) nie sprawdzał, czy krok weryfikacji MAC zakończył się sukcesem. Sterownik w ten sposób po cichu akceptował pakiety z nieprawidłowym tagiem uwierzytelniającym Poly1305. Zdalny atakujący, który może wysyłać pakiety UDP do punktu końcowego WireGuard i który może odgadnąć granice okna powtórzeń odbiorcy, może wstrzyknąć sfałszowane lub zmodyfikowane pakiety danych transportowych do tunelu. Zdalny atakujący, który może przechwycić pakiety WireGuard przeznaczone dla hosta FreeBSD, może zmodyfikować szyfrogram i uwierzytelnione dane bez wykrycia przez odbiorcę.
Aby pobrać poprzednią wartość timera, jądro wywołuje realtimer_gettime(), które uzyskuje bieżący czas dla zegara timera. Dla timera używającego CLOCK_TAI może to się nie powieść, gdy nie skonfigurowano offsetu TAI, ale zwracany błąd nie był sprawdzany, więc niezainicjalizowany bufor wyjściowy był kopiowany do przestrzeni użytkownika. Nieuprzywilejowany użytkownik lokalny może uzyskać niezainicjalizowaną pamięć stosu jądra, tworząc timer POSIX z CLOCK_TAI i wywołując timer_settime(2), potencjalnie ujawniając wrażliwe dane jądra.
Podczas kopiowania knotes w trakcie fork, knote z filtrem opartym na timerze mógł zostać wyzwolony i umieszczony na liście aktywnej kqueue przed zakończeniem kopiowania. Procedura kopiowania nie uwzględniała tego i mogła umieścić nowy knote po raz drugi, uszkadzając listę aktywną. Ponadto procedura kopiowania nie trzymała odpowiednich blokad podczas odczytu stanu knote, co pozwalało na dalsze wyścigi. Nieuprzywilejowany użytkownik lokalny może wywołać use-after-free w jądrze, potencjalnie prowadząc do eskalacji uprawnień.
Moduł kodowania ISO-2022 używał bufora stosowego o rozmiarze MB_LEN_MAX (6 bajtów) dla pośredniego wyjścia znaków. Niektóre warianty ISO-2022 mogą wymagać do 10 bajtów na znak, w którym to przypadku konwersje mogą wywołać przepełnienie bufora stosowego o maksymalnie cztery bajty. Aplikacja używająca iconv(3) do konwersji niezaufanych danych do lub z jednego z dotkniętych kodowań może być podatna na przepełnienia bufora, jeśli używa jednego z dotkniętych modułów kodowania.
Kilka modułów kodowania, w tym HZ, UTF-7, VIQR i ZW, nie sprawdzało poprawnie rozmiaru bufora wyjściowego dostarczonego przez wywołującego przed zapisaniem przekonwertowanych znaków. Aplikacja używająca iconv(3) do konwersji niezaufanych danych do lub z jednego z dotkniętych kodowań może być podatna na przepełnienia bufora, jeśli używa jednego z dotkniętych modułów kodowania.
Procedura obsługi compat32 kevent() tłumaczy 64-bitową strukturę kevent na strukturę 32-bitową zadeklarowaną na stosie. Nie wyzerowała ona najpierw struktury na stosie. Nieuprzywilejowany użytkownik może zaobserwować niewielką ilość niezainicjalizowanych danych ze stosu jądra, które mogą zawierać wrażliwe informacje.
Implementacja funkcji waitid() w systemie Linux tłumaczy strukturę siginfo_t z FreeBSD na strukturę siginfo_t Linuksa umieszczoną na stosie, ale nie zeruje tej struktury przed użyciem. Nieuprzywilejowany użytkownik może zaobserwować 104 bajty niezainicjalizowanych danych ze stosu jądra, które mogą zawierać wrażliwe informacje.
Wtyczka TranslatePress dla WordPressa do wersji 3.2.5 włącznie jest podatna na nieuwierzytelnione przechowywane Cross-Site Scripting (XSS). Specjalne znaczniki gettext '#!trpst#' i '#!trpen#' są bezwarunkowo zamieniane na '<' i '>' przez funkcję translate_page(). Nieuwierzytelniony atakujący może osadzić te znaczniki w komentarzu, a po wyświetleniu posta w drugim języku znaczniki zamieniają się w prawdziwy tag <img>, co umożliwia wykonanie złośliwego skryptu w przeglądarce odwiedzającego.
Podczas budowania tablicy iovec dla odebranego rekordu TLS 1.2 CBC, funkcja ktls_ocf_tls_cbc_decrypt() zwiększała indeks iovec dla każdego mbuf w łańcuchu, w tym dla mbufów pominiętych, ponieważ zawierały tylko bajty nagłówka TLS. Pozostawiło to niezainicjalizowane wpisy w tablicy iovec, która została przydzielona bez zerowania. Zdalny peer TLS może spowodować, że jądro odczyta niezainicjalizowane wpisy iovec podczas obliczania HMAC, co prowadzi do paniki jądra. Peer musi kontrolować segmentację TCP tak, aby pierwszy mbuf rekordu CBC zawierał tylko 5-bajtowy nagłówek rekordu TLS.
Wtyczka WP Statistics dla WordPressa do wersji 14.16.8 włącznie jest podatna na przechowywane Cross-Site Scripting (XSS) poprzez parametr 'utm_campaign'. Brak odpowiedniej sanityzacji wejścia i escapingu wyjścia umożliwia nieuwierzytelnionym atakującym wstrzyknięcie dowolnych skryptów, które wykonają się przy dostępie do zainfekowanej strony. Atak można przeprowadzić bez uwierzytelnienia przez publiczny endpoint REST /wp-statistics/v2/hit.
Wtyczka EWWW Image Optimizer dla WordPressa do wersji 8.7.3 włącznie jest podatna na przechowywane Cross-Site Scripting (XSS) poprzez atrybut 'data-script' w treści posta. Brak odpowiedniej sanityzacji wejścia i escapingu wyjścia umożliwia uwierzytelnionym atakującym z dostępem na poziomie współautora i wyższym wstrzyknięcie dowolnych skryptów, które wykonają się przy dostępie do zainfekowanej strony.

