CVE-2026-45012
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
ApostropheCMS to otwartoźródłowy system zarządzania treścią oparty na Node.js. W wersjach do 4.29.0 w procesie importu widgetu rich-text występuje podatność na uwierzytelnione ataki SSRF, umożliwiająca atakującemu wymuszenie na serwerze pobrania kontrolowanych przez niego adresów URL.
Ocena ryzyka
Użytkownik z odpowiednimi uprawnieniami może wykorzystać tę podatność do wykradania danych poprzez pobieranie złośliwych treści, które mogą być następnie przechowywane i udostępniane przez ApostropheCMS.
Rekomendacja
Zaleca się aktualizację do najnowszej wersji ApostropheCMS, gdy tylko zostanie wydana poprawka. W międzyczasie należy ograniczyć dostęp do funkcji edycji widgetów tylko do zaufanych użytkowników.
Inne podatności w ApostropheCMS
Zobacz wszystkie- CVE-2026-113711Wysokie
W ApostropheCMS przed wersją 4.33.0 (oraz import-export przed 3.7.0) trasy importu wywołują bigUploadMiddleware bez wczesnego callbacku autoryzacji. Nieuwierzytelnione żądania mogą wykonać inicjalizację uploadu, zapis chunków, przetwarzanie tymczasowe i zadeklarowane przez atakującego sprzątanie, zanim późniejsza kontrola użytkownika odrzuci import.
- CVE-2026-113710Średnie
ApostropheCMS przed wersją 4.33.0 ma endpoint samoobsługowej zmiany hasła, który weryfikuje bieżące hasło, ale nie korzysta z mechanizmu licznika nieudanych prób, ograniczania, opóźnienia ani blokady modułu logowania. Atakujący z ważną uwierzytelnioną sesją może wielokrotnie zgadywać bieżące hasło bez otrzymania blokady lub ograniczenia. Problem naprawiono w wersji 4.33.0.
- CVE-2026-113670Średnie
ApostropheCMS przed wersją 4.33.0 ma w rdzeniowym REST API stron odczyt pełnych dokumentów stron z .permission(false) w getOne oraz w zrzucie drzewa all=1, co omija sprawdzenia viewRole typu strony, visibility: private i visibility: loginRequired. Nieuwierzytelnieni odwiedzający i kontrybutorzy o niskich uprawnieniach mogą odczytać treść stron przeznaczonych tylko dla administratorów i niepublicznych za pomocą _id/slug. Problem naprawiono w wersji 4.33.0.
- CVE-2026-113668Średnie
ApostropheCMS przed wersją 4.33.0 ma trasę REST GET /api/v1/<piece-type>/:_id/locales (oraz równoważną trasę stron), która nie stosuje bramki publicApiCheckAsync wymuszanej przez inne trasy odczytu ApostropheCMS. Nieuwierzytelniony wywołujący może zapytać tę trasę dla dowolnego _id dokumentu i dowiedzieć się, czy dokument istnieje oraz w jakich lokalizacjach jest opublikowany — ujawnienie istnienia dokumentu i metadanych lokalizacji, które API odczytu powinno normalnie chronić. Problem naprawiono w wersji 4.33.0.
- CVE-2026-113667Średnie
W integracjach CAPTCHA (Form, login-recaptcha, login-hcaptcha) dla ApostropheCMS token odpowiedzi użytkownika jest wstawiany bez kodowania do żądania weryfikacji u dostawcy. Spreparowane tokeny mogą przemycać parametry żądania i zakłócać weryfikację CAPTCHA oraz chronione nią formularze lub logowanie. Możliwe jest automatyczne sondowanie obejścia, ale nie potwierdzono skutecznego obejścia CAPTCHA ani ujawnienia sekretu.
- CVE-2026-113666Wysokie
W db-connect przed 1.1.0 i ApostropheCMS przed 4.33.0 konto z dostępem view-draft może przesłać ścieżkę wykluczenia projekcji przechodzącą przez łańcuch prototypu konstruktora do współdzielonego elementu prototypu, gdy używany jest adapter SQLite, PostgreSQL lub multipostgres. Helper unsetNestedField usuwa wtedy współdzielony element runtime, powodując trwałe skutki dla integralności i dostępności procesu; domyślny adapter MongoDB nie jest podatny.
- CVE-2026-113662Średnie
W module import-export ApostropheCMS przed wersją 3.7.0 uwierzytelniony użytkownik z dostępem do importu dla docelowego typu może podać obiekt lub operator jako wartość klucza aktualizacji, powodując dopasowanie zapytania importu do niezidentyfikowanego istniejącego dokumentu, który użytkownik ma ogólne uprawnienie do edycji. Normalny filtr uprawnień findForEditing nadal ogranicza kandydatów, więc luka nie pozwala na nadpisanie dowolnej chronionej treści bez uprawnień.
- CVE-2026-113660Średnie
W ApostropheCMS przed wersją 4.33.0 API exist-in-locale pozwala uwierzytelnionemu użytkownikowi o niskich uprawnieniach ustalić, czy ograniczone dokumenty istnieją w określonym locale i trybie, w tym w trybie roboczym. Endpoint zwraca identyfikatory zlokalizowanych dokumentów bez stosowania kryteriów autoryzacji na poziomie dokumentu. Luka została naprawiona w wersji 4.33.0.
- CVE-2026-113655Średnie
W ApostropheCMS przed wersją 4.33.0 uwierzytelniony redaktor z uprawnieniami do edycji zwykłej strony zagnieżdżonej pod ograniczonym rodzicem może użyć operacji przenoszenia stron w obrębie tego samego rodzica, aby zmienić kolejność rodzeństwa bez uprawnień do tworzenia w tym rodzicu. Obejście dotyczy wyłącznie kolejności rodzeństwa, a nie dowolnej modyfikacji treści, utraty poufności ani tworzenia ograniczonego zagnieżdżenia.
- CVE-2026-113653Średnie
W ApostropheCMS przed wersją 4.33.0 viewRole nie jest stosowana do anonimowych odwiedzających, gdy deweloper udostępnia obiekty użytkowników przez publicznie renderowaną relację lub jawnie włączone publiczne API. Niewystarczająco ograniczone szablony, w tym serializacja całego powiązanego obiektu użytkownika, mogą warunkowo ujawnić pola użytkownika, ale hasła są przechowywane osobno i nie są objęte problemem.
Oryginalny opis (angielski, źródło NVD)
ApostropheCMS is an open-source Node.js content management system. Versions up to and including 4.29.0 contain an authenticated server-side request forgery (SSRF) in the rich-text widget import flow. An authenticated user who can submit/edit rich-text widget content can cause the server to fetch attacker-controlled URLs during widget validation. For image-compatible responses, the fetched content can be persisted and re-hosted by Apostrophe, allowing response exfiltration. As of time of publication, no known patched versions are available.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

