Katalog podatności CVE
Przetłumaczone opisy podatności z bazy NVD NIST - w języku polskim
Przeglądaj podatności według pakietuKatalog CISA KEV zaktualizowany: (v2026.08.27)
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.
GitPython przed wersją 3.1.59 nie wyłącza opcji merge_includes podczas parsowania pliku .gitmodules, co pozwala atakującym na ujawnienie zawartości lokalnych plików przez dołączanie dowolnych ścieżek plików za pomocą dyrektyw [include]. Atakujący mogą stworzyć złośliwy plik .gitmodules z dyrektywami include wskazującymi na wrażliwe pliki; gdy dostęp do repo.submodules jest wykonywany, GitConfigParser zgłasza wyjątek MissingSectionHeaderError zawierający pierwszą linię docelowego pliku w treści komunikatu.
Grav przed wersją 2.0.16 zawiera niekompletną domyślną listę blokowania w konfiguracji sandboxa Twig, która nie blokuje dostępu do sekretów konfiguracji systemu. Atakujący z uprawnieniami edycji stron mogą użyć config.get() lub config.toArray() w szablonach Twig, aby pobrać wrażliwe wartości, takie jak system.cache.redis.password, gdy config_access jest włączony.
Grav przed wersją 2.0.16 umożliwia sandboxowanym szablonom Twig dostęp do wrażliwych pól użytkownika poprzez dozwolone metody offsetGet() i offsetexists(), które nie filtrują pól. Atakujący z uprawnieniami do edycji stron może wywołać offsetGet() na obiektach User, aby wyodrębnić zahaszowane hasła i sekrety 2FA, co umożliwia ataki brute-force i obejście uwierzytelniania.
Rocket.Chat udostępnia metodę Meteor sendForgotPasswordEmail bez limitu szybkości DDP, co pozwala nieuwierzytelnionemu atakującemu na wielokrotne wywoływanie jej. Metoda jest dostępna przez DDP oraz przez HTTP POST /api/v1/method.callAnon/sendForgotPasswordEmail i wyzwala wysyłkę wiadomości resetujących hasło dla dowolnego adresu powiązanego z kontem. Brak reguły DDPRateLimiter umożliwia masowe wysyłanie e-maili oraz sondowanie adresów.
Wtyczka Grav Email (getgrav/grav-plugin-email) przed wersją 4.2.2 renderuje parametry akcji Email kontrolowane przez edytora stron jako nieosłonięte szablony Twig. Zautentykowany zdalny użytkownik z uprawnieniami api.access i api.pages.write może umieścić wyrażenie Twig w header.form.process.email.body, opublikować stronę i wysłać formularz, aby wykonać dowolne polecenie systemu operacyjnego jako konto uruchamiające PHP.
Grav CMS przed wersją 2.0.16 zawiera podatność na obejście walidacji pochodzenia w metodach Uri::referrer() i Pages::referrerRoute(), które sprawdzają nagłówek Referer za pomocą niezakotwiczonego dopasowania prefiksu (str_starts_with) bez ogranicznika końcowego. Atakujący kontrolujący domenę zaczynającą się od pochodzenia ofiary (np. https://example.com.attacker.tld) może wysłać żądanie z takim Refererem, które będzie traktowane jako pochodzące z tego samego pochodzenia, omijając kontrolę opartą na Refererze.
Grav CMS przed wersją 2.0.16 ma podatność czasową w funkcji Utils::verifyNonce(), która używa porównania nie w stałym czasie (operator ===) zamiast hash_equals() do walidacji nonce CSRF. Atakujący mogą mierzyć różnice czasu odpowiedzi, aby odzyskać prawidłowe nonce bajt po bajcie.
Wtyczka getgrav/grav-plugin-login Composer przed wersją 3.9.1 (używana przez Grav) porównuje tokeny resetowania hasła i aktywacji konta za pomocą nie-stałoczasowego porównania === zamiast hash_equals() w classes/Controller.php (taskReset()) i login.php (obsługa aktywacji). Ponieważ punkt końcowy przesyłania tokena (taskReset) nie ma również ograniczenia szybkości, atakujący może w zasadzie wysyłać wielokrotne zgadywania tokenów dla znanej nazwy użytkownika i wykorzystać różnice czasowe, aby próbować odzyskać prawidłowy token, chociaż dostawca ocenia praktyczną możliwość wykorzystania jako niską i nie zademonstrowano ataku sieciowego od końca do końca.
Wtyczka Grav Login (getgrav/grav-plugin-login) przed wersją 3.9.1 jest podatna na enumerację adresów e-mail. Metoda register() w classes/Login.php wyrzuca odrębny wyjątek (EMAIL_NOT_AVAILABLE), gdy podany adres e-mail już należy do istniejącego konta, podczas gdy w przeciwnym razie rejestracja przebiega dalej. Ponieważ punkt końcowy rejestracji nie ma ograniczeń tempa, atakujący może enumerować, które adresy e-mail mają konta na stronie, zgadując jedno żądanie na raz.
Grav CMS przed wersją 2.0.16 nie filtruje tablic konfiguracyjnych systemu, witryny i motywu w piaskownicy renderowania Twig, co pozwala edytorom treści na odczyt wrażliwych wartości konfiguracyjnych. Atakujący z uprawnieniami do edycji treści strony mogą uzyskać dostęp do surowych tablic konfiguracyjnych, w tym sekretów takich jak dane uwierzytelniające do pamięci podręcznej, używając notacji kropkowej w szablonach Twig, omijając ograniczenia config_denied_paths.
Grav CMS przed wersją 2.0.16 zawiera podatność na przechodzenie poza katalog (path traversal) w funkcji Twig media_directory(), która nie waliduje ścieżek systemu plików, co pozwala uwierzytelnionym użytkownikom na enumerację i dostęp do plików poza zamierzonym zakresem. Atakujący z uprawnieniami do tworzenia stron mogą podać dowolne ścieżki systemu plików do media_directory() i użyć dozwolonego akcesora ścieżek na obiektach Medium do odczytu zawartości dowolnych plików pasujących do skonfigurowanych rozszerzeń mediów, do których proces serwera WWW ma dostęp.
Grav CMS przed wersją 2.0.16 zawiera podatność na podążanie za dowiązaniami symbolicznymi w Scheduler Job::createLockFile(), która pozwala lokalnym atakującym na nadpisanie dowolnych plików poprzez wcześniejsze utworzenie dowiązań symbolicznych w przewidywalnych ścieżkach plików blokady w katalogu tymczasowym z prawem zapisu dla wszystkich. Atakujący mogą umieścić dowiązanie symboliczne w przewidywalnej ścieżce blokady wskazujące na dowolny plik, do którego proces serwera WWW może zapisywać, a następne uruchomienie zaplanowanego zadania podąży za dowiązaniem i nadpisze zawartość docelowego pliku ciągiem identyfikatora zadania.
Grav przed wersją 2.0.16 zawiera podatność na przechodzenie po ścieżkach w MediaUploadTrait::deleteFile(), która pozwala zautentykowanym użytkownikom z uprawnieniami zarządzania mediami na usuwanie dowolnych plików poprzez podanie nazw plików z sekwencjami przechodzenia po katalogach. Metoda waliduje tylko część nazwy pliku (basename), zachowując niezwalidowane ścieżki katalogów zawierające sekwencje ../, które są przekazywane do unlink(), umożliwiając usunięcie plików poza zamierzonym katalogiem przechowywania mediów.
Wtyczka Grav Login przed wersją 1.0.16 nie weryfikuje poziomu uprawnień docelowego konta w handlerze onApiUserListRowAction unlock. Atakujący z uprawnieniem api.users.write może wyczyścić liczniki blokady logowania na kontach admin.super, usuwając ochronę przed atakami brute-force na konta o najwyższych uprawnieniach.
Grav przed wersją 3.9.2 nie waliduje niezaufanych nagłówków Host w funkcji sendInvitationEmail() podczas konstruowania linków zaproszeń zawierających tokeny. Atakujący mogą manipulować nagłówkiem Host, aby zatruć linki zaproszeń i przekierować użytkowników do domen kontrolowanych przez atakującego, omijając ochronę require_trusted_host, która obejmuje tylko przepływy resetowania hasła.
Wtyczka Grav API przed wersją 1.0.16 zawiera podatność na podrabianie żądań po stronie serwera (SSRF) w dostarczaniu webhooków, która pozwala atakującym ominąć walidację nazwy hosta przez ponowne wiązanie DNS. Atakujący kontrolujący autorytatywny DNS dla skonfigurowanej nazwy hosta webhooka mogą odpowiadać na zapytania walidacyjne publicznymi adresami, a na zapytania dostarczania prywatnymi adresami, aby dotrzeć do wewnętrznych zasobów sieciowych.
Wtyczka Grav Flex Objects w wersjach 1.4.0 do 1.4.7 zawiera podatność na obejście autoryzacji w shortcode flex-objects, umożliwiającą użytkownikom z uprawnieniami do edycji stron renderowanie dowolnej zarejestrowanej kolekcji Flex bez sprawdzania uprawnień. Atakujący mogą umieścić shortcode na opublikowanych stronach, aby ujawnić wrażliwe zawartości katalogów, w tym informacje o kontach użytkowników, omijając ACL authorize egzekwowane w panelu administracyjnym.
Adminer przed wersją 5.4.3 używa schematu tokenów CSRF, który przesyła zarówno maskę XOR, jak i zamaskowaną wartość w każdym tokenie (format (rand XOR secret):rand), co pozwala każdemu, kto zaobserwuje pojedynczy token CSRF (np. przez podsłuch sieciowy, pliki dziennika, nagłówek Referer lub XSS), na odzyskanie sekretu sesji za pomocą pojedynczej operacji XOR i sfałszowanie nieograniczonej liczby ważnych tokenów. Implementacja jest dodatkowo osłabiona przez niskoentropijny token sesji (rand(1,1e6), ~20 bitów), który umożliwia ślepe brute-force, oraz przez użycie luźnego porównania (==) w weryfikacji tokena, co umożliwia manipulację typem w PHP. Eksploatacja umożliwia ataki CSRF na uwierzytelnione sesje, w tym wykonanie dowolnych zapytań SQL.
Adminer przed wersją 5.4.3 nie sanityzuje pola serwera przed skonstruowaniem ciągu DSN PDO, co pozwala nieuwierzytelnionym atakującym na wstrzyknięcie parametrów ODBC za pomocą średników. Atakujący może wstrzyknąć parametry TraceFile i TraceOn, aby zapisać kod PHP do katalogu głównego serwera WWW, osiągając zdalne wykonanie kodu.
Adminer przed wersją 5.4.3 wstawia nieoczyszczone ciągi wersji serwera bazy danych do tagów skryptów z ważnymi nonce CSP bez odpowiedniej walidacji. Atakujący kontrolujący złośliwy serwer MySQL mogą zwrócić spreparowane ciągi wersji, które wychodzą z kontekstu JavaScript i wykonują dowolny kod, omijając zabezpieczenia Content Security Policy.

