CVE-2026-112956
ŚrednieCVSS 6.5Streszczenie
ApostropheCMS to open-source'owy system zarządzania treścią dla Node.js. Przed wersją 3.7.1 modułu import-export, kontynuacja duplikatu importu akceptuje wybory zamiany kontrolowane przez klienta bez powiązania ich z analizą po stronie serwera należącą do użytkownika lub autoryzacji kanonicznego celu. W przypadku typu lokalizowanego z włączonym importem, współpracownik z uprawnieniami do edycji szkiców może przekroczyć granicę publikacji, wybierając opublikowany dokument do zamiany, chociaż obecna ocena opiera się na przeglądzie poprawek, a nie na powtórzonej reprodukcji end-to-end. Problem został naprawiony w wersji 3.7.1.
Ocena ryzyka
Naruszenie integralności — nieuprawniona modyfikacja opublikowanych dokumentów może prowadzić do publikacji niezatwierdzonych treści i obejścia procesu zatwierdzania. Może to zaszkodzić reputacji i wiarygodności treści.
Rekomendacja
Zaktualizuj ApostropheCMS do wersji 3.7.1 lub nowszej. Dodatkowo rozważ weryfikację uprawnień do importu i procesów zatwierdzania publikacji.
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. Prior to 3.7.1 of the import-export module, duplicate-import continuation accepts client-controlled replacement choices without binding them to a user-owned server-side analysis or authorizing the canonical target. On an import-enabled localized type, a contributor with draft editing authority can cross the publication boundary by selecting a published document for replacement, although the current assessment is based on remediation review rather than a repeated end-to-end reproduction. This issue is fixed in version 3.7.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

