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.11.04)
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.
Wtyczka JSON w Apache Struts ma podatność niekontrolowanego zużycia zasobów. Gdy aplikacja jest skonfigurowana do wypełniania akcji z treści JSON, wtyczka odczytuje tę treść do pamięci bez ograniczania jej rozmiaru, co pozwala pojedynczemu żądaniu wyczerpać stertę i spowodować odmowę usługi. Konfigurowalny limit długości wejścia JSON nie ogranicza tego odczytu. Podatność dotyczy Apache Struts w wersjach od 2.1.8 do 2.3.37, od 2.5.0 do 2.5.33, od 6.0.0 do 6.10.0 oraz od 7.0.0 do 7.2.1.
W Devolutions PowerShell Universal w wersji 2026.2.3 i wcześniejszych wykryto podatność polegającą na niewłaściwej kontroli generowania kodu (Code Injection) w funkcji ustawień. Uwierzytelniony użytkownik z uprawnieniami do zarządzania ustawieniami może wykonać dowolny kod PowerShell poprzez spreparowaną wartość ustawienia, która nie jest poprawnie escapowana podczas zapisu do pliku konfiguracyjnego.
Router Netis NC63 z oprogramowaniem V3.0.0.3327 zawiera podatność umożliwiającą nieuwierzytelnioną aktualizację oprogramowania. Atakujący bez uwierzytelnienia może przesłać niepodpisany obraz firmware, wykorzystując brak egzekwowania uwierzytelnienia w serwerze Boa i dyspozytorze CGI netis.cgi. Wysyłając żądanie multipart POST do /cgi-bin/upload_fw.cgi bez ważnego ciasteczka sesji, atakujący może ominąć uwierzytelnienie, ponieważ Boa udziela dostępu do każdej ścieżki zawierającej '.cgi' bez weryfikacji ciasteczka, a netis.cgi odczytuje, ale nie egzekwuje stanu uwierzytelnienia przed wywołaniem procedury aktualizacji firmware, która akceptuje obrazy weryfikowane tylko przez podrabialną sumę kontrolną i statyczne ciągi produktu, a nie podpis kryptograficzny. Może to prowadzić do trwałego przejęcia routera.
W module płac w Roskus Prospero Flow CRM przed wersją 5.15.10 wykryto podatność polegającą na obejściu autoryzacji przez klucz kontrolowany przez użytkownika. Uwierzytelnieni użytkownicy z uprawnieniem do odczytu płac mogą przeglądać dane wynagrodzeń i kont bankowych pracowników innych firm w instancji, a użytkownicy z uprawnieniem do tworzenia płac mogą tworzyć rekordy płac przypisane do pracowników innej firmy. Dzieje się tak, ponieważ zapytanie listujące nie jest ograniczone do firmy wywołującego, a identyfikator pracownika jest weryfikowany pod kątem globalnego istnienia, a nie przynależności do firmy.
W alldatacenter alldata do wersji 0.6.8 wykryto podatność związaną z deserializacją w funkcji Hessian2Input.readObject w pliku /serialize/impl/HessianSerializer.java komponentu xxl-rpc Listener. Manipulacja danymi prowadzi do deserializacji, a atak może być przeprowadzony zdalnie. Exploit jest publiczny i może być wykorzystany. Projekt zamknął zgłoszenie jako 'nieplanowane' bez dalszych wyjaśnień.
W SourceCodester Simple Client Management System 1.0 wykryto podatność SQL injection w nieznanej funkcji pliku /classes/Master.php?f=save_service. Manipulacja argumentem ID prowadzi do wstrzyknięcia SQL. Atak może być przeprowadzony zdalnie. Exploit został publicznie ujawniony i może być wykorzystany.
W Tenda W20E w wersji 15.11.0.6(1068_1546_841)_CN_TDC wykryto podatność na przepełnienie bufora stosu w funkcji ipMacBindListStore pliku /goform/addIpMacBind. Manipulacja argumentem IPMacBindRule może prowadzić do przepełnienia bufora. Atak może być wykonany zdalnie, a exploit jest publicznie dostępny.
W Tenda W20E w wersji 15.11.0.6(1068_1546_841)_CN_TDC odkryto podatność na przepełnienie bufora stosu w funkcji formQOSRuleDel pliku /goform/delQos. Manipulacja argumentem qosIndex prowadzi do przepełnienia bufora. Atak może być wykonany zdalnie, a exploit jest publicznie dostępny.
Budibase w wersjach od 3.39.4 do 3.40.0 zawiera regresję autoryzacji w punkcie końcowym przesyłania załączników S3, która pozwala użytkownikom BASIC na uzyskanie podpisanych URL-i S3 PutObject poprzez wysyłanie żądań POST do punktu końcowego załączników. Trasa została zmieniona z kontroli uprawnień BUILDER na kontrolę TABLE/WRITE, którą użytkownicy BASIC mają domyślnie. Atakujący mogą określić dowolne zasobniki S3 w treści żądania, aby wygenerować podpisane URL-e do zapisu w dowolnym zasobniku dostępnym dla przechowywanych poświadczeń IAM, co umożliwia nieautoryzowane przesyłanie plików.
File Browser przed wersją 2.63.20 nie honoruje izolacji createUserDir w ścieżkach automatycznego provisionowania uwierzytelniania proxy i hook. Atakujący z ważnymi poświadczeniami uwierzytelnionymi upstream mogą czytać, modyfikować, usuwać i udostępniać pliki innych użytkowników, wykorzystując przypisanie zakresu do katalogu głównego serwera.
FileBrowser przed wersją 2.63.19 nie uwzględnia systemów plików niewrażliwych na wielkość liter podczas sprawdzania własności katalogu domowego podczas samorejestracji. Gdy Signup i CreateUserDir są włączone, a root FileBrowser jest na systemie plików niewrażliwym na wielkość liter (potwierdzone na Windows/NTFS), dwie samorejestrowane nazwy użytkowników różniące się tylko wielkością liter (np. CaseVictim i casevictim) są przechowywane jako oddzielne konta, ale rozwiązują się do tego samego fizycznego katalogu domowego, ponieważ kontrola zakresu porównuje zapisany zakres jako dokładny ciąg znaków wrażliwy na wielkość liter. Drugi rejestrujący może zatem czytać, nadpisywać i usuwać pliki innego konta przez uwierzytelnione punkty końcowe HTTP, bez potrzeby istniejącego konta lub interakcji ofiary.
Wtyczka Grav API (getgrav/grav-plugin-api) w wersjach od 1.0.6 do 1.0.11 zawiera podatność na eskalację uprawnień. Klucz API z ograniczonym zakresem wygenerowany na koncie super-admina omija zadeklarowany limit zakresu na czterech punktach końcowych zapisu chronionych funkcją isSuperAdmin() (w GroupsController, AccountsConfigController, PreferencesController i DashboardWidgetController). Te punkty końcowe autoryzują przez wczesny zwrot dla super-admina, który nigdy nie wywołuje requirePermission() – jedynego punktu egzekwowania limitu zakresu – więc klucz z zakresem 'read-only' (np. api.pages.read) może wykonywać operacje zapisu tylko dla super-admina, w tym przepisywanie map ACL grup w celu nadania uprawnień super-admina dowolnym kontom. Wyciekły lub delegowany klucz CI/monitorujący z zakresem read-only może zatem uzyskać pełną zdolność zapisu super-admina. Poprawiono w wersji 1.0.13.
Wtyczka Flex Objects (do wersji 1.4.6, testowana z Grav 2.0.11) zawiera podatność na nieprawidłową autoryzację w API Flex Objects. Funkcja FlexApiController::update() sprawdza tylko ogólne uprawnienia katalogu Flex i nie stosuje dodatkowych kontroli celu/pola/super-admina egzekwowanych przez dedykowane kontrolery API Users i Groups. Uwierzytelnione konto z uprawnieniami api.access, admin.login i users.update (ale bez api.users.write lub admin.super) może użyć ogólnego punktu końcowego /api/v1/flex-objects/user-accounts do zmiany hasła super administratora lub punktu końcowego /api/v1/flex-objects/user-groups do nadania swojej grupie uprawnienia admin.super, co prowadzi do pełnego przejęcia strony. Poprawiono w Flex Objects 1.4.7.
Wtyczka Grav API przed wersją 1.0.13 nie egzekwuje ograniczeń zakresu kluczy API w bramkach super-scope w ConfigController, co pozwala kluczom z ograniczonym zakresem na zapis konfiguracji harmonogramu. Ograniczenie zakresu jest stosowane tylko wewnątrz requirePermission(), podczas gdy bramki harmonogramu i kopii zapasowych używają gołego sprawdzenia isSuperAdmin(), które nigdy nie konsultuje api_key_scopes. Atakujący posiadający klucz API z zakresem api.config.write, wygenerowany na koncie super, może wstrzyknąć dowolne polecenia do scheduler.custom_jobs, które Job::run() przekazuje do Symfony Process, osiągając wykonanie poleceń systemu operacyjnego jako użytkownik serwera WWW.
Wtyczka Grav API (getgrav/grav-plugin-api) przed wersją 1.0.13 zawiera obejście ograniczeń zakresu kluczy API w metodach create() i update() w UsersController. Metody te egzekwują ograniczenia tylko dla api.users.write, ale przyznają super-przywileje na podstawie bezpośredniego sprawdzenia isSuperAdmin(), które czyta access.api.super bez uwzględniania zakresów klucza. W rezultacie klucz o zakresie api.users.write wybity na koncie super może ustawić access.api.super lub przypisać grupę nadającą super, aby utworzyć lub awansować pełne konto super, a następnie uwierzytelnić się jako to konto dla nieograniczonych uprawnień administracyjnych.
Grav Plugin API (getgrav/grav-plugin-api) przed wersją 1.0.13 nie egzekwuje limitów zakresu kluczy API w InvitationsController. Decyzje strip-super i accept-groups są oparte na zwykłym sprawdzeniu isSuperAdmin() zamiast sprawdzenia uprawnień uwzględniającego zakres, więc klucz API o najmniejszych uprawnieniach (zakres api.users.write) wygenerowany na koncie super może utworzyć rekord zaproszenia zawierający flagi dostępu super-admina. Po zaakceptowaniu zaproszenia te flagi są zapisywane dosłownie na nowym koncie, co prowadzi do eskalacji uprawnień do w pełni kontrolowanego konta super.
Grav CMS przed wersją 2.0.13 zawiera podatność na wstrzyknięcie szablonów po stronie serwera w parametrach akcji e-mail, która pozwala edytorom stron o niskich uprawnieniach na wykonywanie dowolnych poleceń systemu operacyjnego. Atakujący mogą wstrzyknąć ładunki Twig przy użyciu niezabezpieczonego filtra find w polach tematu, treści, do lub od wiadomości e-mail, aby osiągnąć zdalne wykonanie kodu podczas przesyłania formularzy.
Wtyczka getgrav/grav-plugin-api przed wersją 1.0.13 nie weryfikuje, czy zakresy nowo utworzonego klucza API są podzbiorem zakresów wywołującego w createApiKey. Ścieżka self-target w requireApiKeyPermission() wymaga tylko podstawowego zakresu api.access, a zakresy nowego klucza są odczytywane bezpośrednio z treści żądania bez sprawdzania podzbioru. Atakujący posiadający klucz API o minimalnym zakresie na koncie super może przesłać pustą tablicę zakresów, aby wybić nieograniczony klucz super z pełnym dostępem, omijając ograniczenia zakresów (i umożliwiając dalsze łańcuchy, takie jak zapis konfiguracji do RCE).
Wtyczka getgrav/grav-plugin-api przed wersją 1.0.13 zawiera obejście limitu zakresu klucza API w punkcie końcowym POST /reports/twig-content/allowlist (ReportsController). Punkt końcowy egzekwuje requirePermission('api.config.write'), a następnie zwykłe sprawdzenie isSuperAdmin() zamiast requireSuper(). Ponieważ isSuperAdmin() czyta access.api.super bezpośrednio i nigdy nie konsultuje api_key_scopes, klucz API o najmniejszych uprawnieniach z zakresem api.config.write wygenerowany na koncie super przechodzi przez bramkę, umożliwiając atakującemu dodanie wybranych tokenów do listy dozwolonych security.twig_sandbox (zapisanej do user/config/security.yaml). Poszerzenie listy dozwolonych zamienia każde późniejsze renderowanie Twig w treści w sink SSTI/RCE.
Wtyczka Grav API (getgrav/grav-plugin-api) przed wersją 1.0.13 zawiera obejście ograniczeń zakresu kluczy API w PagesController::guardTwigContent(). Sprawdzanie przełącznika Twig używa bezpośredniego wywołania isSuperAdmin(), które nie uwzględnia api_key_scopes, więc klucz API o najmniejszych uprawnieniach, ograniczony tylko do api.pages.write i wybity na koncie super, może włączyć process.twig podczas zapisu strony, mimo że admin.pages_twig jest celowo poza zakresem api.pages. Gdy security.twig_content.process_enabled=true i editor_enabled=false, umożliwia to wykonanie Twig-in-content po stronie serwera, co prowadzi do wstrzyknięcia szablonów po stronie serwera (SSTI) i zdalnego wykonania kodu.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

