CVE-2026-71553
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
ApostropheCMS to system zarządzania treścią oparty na Node.js. W wersji 4.32.0 i wcześniejszych, PATCH /api/v1/article/:id akceptuje dziedziczoną ścieżkę toString.call i przekazuje ją przez moduł narzędziowy do apos.util.set() i apos.util.get(), co pozwala uwierzytelnionemu edytorowi nadpisać właściwość call funkcji Object.prototype.toString i spowodować trwałą awarię procesu (denial of service) do czasu restartu.
Ocena ryzyka
Podatność umożliwia uwierzytelnionemu użytkownikowi z rolą edytora spowodowanie trwałej awarii usługi, co może zakłócić dostępność systemu CMS. Atak wymaga jednak uwierzytelnienia.
Rekomendacja
Zaleca się aktualizację ApostropheCMS do wersji nowszej niż 4.32.0. Należy również ograniczyć uprawnienia edytorów i monitorować nietypowe żądania PATCH.
Inne podatności w ApostropheCMS
Zobacz wszystkie- CVE-2026-53609Krytyczne
ApostropheCMS to system zarządzania treścią oparty na Node.js, który w wersjach do 4.30.0 pozwala na nieautoryzowane modyfikacje prototypu obiektów przez uwierzytelnionych edytorów. Wykorzystanie operatora `$pullAll` umożliwia zapis dowolnych wartości do `Object.prototype`, co prowadzi do obejścia autoryzacji na wszystkich punktach końcowych REST API.
- CVE-2026-63670Średnie
ApostropheCMS to open source'owy system zarządzania treścią oparty na Node.js. Przed wersją 2.17.6, funkcja sanitizeHtml() może przepuścić niedozwolony wykonywalny markup przez packages/sanitize-html/index.js, gdy textarea lub xmp jest zawarte w allowedTags, ponieważ dosłowny ukośnik po nazwie znacznika końcowego surowego tekstu jest traktowany jako tekst przez htmlparser2, a handler ontext emituje tę treść bez escapowania, podczas gdy przeglądarka parsuje następujący markup img onerror jako aktywny HTML. Problem naprawiono w wersji 2.17.6.
- CVE-2026-63669Średnie
ApostropheCMS przed wersją 4.32.0 ma podatność w operacji move() modułu strony, która nie egzekwuje uprawnienia _create dla docelowego rodzica, gdy przenoszenie jest zwykłe (nie archiwizacja). Pozwala to uwierzytelnionemu edytorowi lub współtwórcy przenieść kontrolowaną stronę do ograniczonego poddrzewa i zmienić kolejność chronionych stron.
- CVE-2026-63667Średnie
ApostropheCMS przed wersją 3.6.2 ma podatność w module import-export, gdzie ścieżka źródłowa załącznika jest konstruowana z kontrolowanych przez atakującego pól _id, name i extension bez zapewnienia, że ścieżka pozostaje w katalogu wyodrębnionych załączników. Pozwala to uwierzytelnionemu współtwórcy zaimportować spreparowane archiwum, odczytać plik hosta z dozwolonym rozszerzeniem i opublikować skopiowany plik pod nieuwierzytelnionym adresem URL uploads.
- CVE-2026-45014Średnie
ApostropheCMS to otwartoźródłowy system zarządzania treścią oparty na Node.js. Wersje do 4.29.0 włącznie są podatne na przechowywane ataki typu cross-site scripting z powodu niesanitizowanej nazwy wyświetlanej użytkownika w podpowiedzi wersji roboczej.
- CVE-2026-45013Wysokie
ApostropheCMS to system zarządzania treścią oparty na Node.js, który w wersjach do 4.29.0 ma lukę w procesie resetowania hasła. Luka ta pozwala atakującemu na wysłanie fałszywego żądania resetu, które prowadzi do wysłania linku resetującego na domenę atakującego.
- CVE-2026-45012Wysokie
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.
- CVE-2026-45011Wysokie
ApostropheCMS w wersji 4.29.0 zawiera podatność na przechowywane ataki XSS w funkcjonalności widgetu obrazów. Użytkownik z rolą Edytora może skonfigurować link widgetu obrazów, aby używał ładunku URL javascript:, co pozwala na publikację złośliwego widgetu na stronie.
Oryginalny opis (angielski, źródło NVD)
ApostropheCMS is an open-source Node.js content management system. In 4.32.0 and earlier, PATCH /api/v1/article/:id accepts the inherited path toString.call and passes it through the utility module to apos.util.set() and apos.util.get(), allowing an authenticated editor to overwrite the shared Object.prototype.toString function's call property and cause a persistent process-wide denial of service until restart.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

