CVE-2026-84701
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
NocoBase nie dezynfekuje wartości pól tekstu sformatowanego w rendererze odczytu, co pozwala użytkownikom z uprawnieniami do tworzenia na przechowywanie złośliwego HTML z procedurami obsługi zdarzeń. Atakujący mogą zapisywać dowolny znacznik przez API kolekcji, który wykonuje się w przeglądarkach wszystkich użytkowników przeglądających rekord.
Ocena ryzyka
Ryzyko obejmuje wykonanie złośliwego skryptu w przeglądarkach użytkowników, co może prowadzić do kradzieży danych, przejęcia sesji lub rozprzestrzeniania złośliwego oprogramowania.
Rekomendacja
Zaleca się natychmiastowe wdrożenie poprawek dostarczonych przez producenta oraz wdrożenie mechanizmów sanityzacji HTML dla pól tekstu sformatowanego.
Inne podatności w NocoBase
Zobacz wszystkie- CVE-2026-41641Wysokie
W NocoBase przed wersją 2.0.39 funkcja walidacji checkSQL() nie była stosowana na końcówce sqlCollection:update, co umożliwiało atakującym z uprawnieniami do zarządzania kolekcjami wstrzykiwanie dowolnego SQL i wykradanie danych.
- CVE-2026-52887Krytyczne
Wtyczka @nocobase/plugin-notification-in-app-message w NocoBase przed wersją 2.0.61 zawiera podatność na wstrzykiwanie SQL przez endpoint GET /api/myInAppChannels:list. Parametr filter[latestMsgReceiveTimestamp][$lt] jest bezpośrednio wstawiany do szablonu Sequelize.literal() bez odpowiedniego oczyszczania, co umożliwia uwierzytelnionemu użytkownikowi wykonanie złośliwych zapytań PostgreSQL, w tym potencjalnie poleceń systemowych przez COPY ... TO PROGRAM.
- CVE-2026-34156Krytyczne
NocoBase przed wersją 2.0.28 zawiera podatność w węźle skryptowym Workflow, która pozwala uwierzytelnionemu atakującemu na ucieczkę z piaskownicy Node.js i zdalne wykonanie kodu jako root. Atak wykorzystuje dostęp do obiektu console._stdout i console._stderr w piaskownicy oraz prototypowanie.
- CVE-2026-55410Średnie
Podatność w NocoBase przed wersją 2.1.19 pozwalała na wstrzyknięcie poleceń systemowych podczas przywracania kopii zapasowej PostgreSQL. Atakujący z uprawnieniami do zarządzania kopiami zapasowymi mógł umieścić złośliwą wartość w polu database.schema w pliku _metadata.json, która była następnie interpolowana do polecenia powłoki wykonywanego przez child_process.exec().
- CVE-2026-52888Średnie
W NocoBase w wersji 2.0.59 i wcześniejszych, funkcja checkSQL() w pluginie collection-sql nie blokuje dostępu do systemowych tabel katalogowych PostgreSQL, takich jak pg_shadow, pg_roles i pg_stat_activity. Użytkownik z rolą administratora może odczytać hashe haseł i metadane bazy danych poprzez funkcję SQL Collection.
- CVE-2026-58468Średnie
NocoBase do wersji 2.1.20 zawiera podatność na fałszowanie żądań po stronie serwera (SSRF) w wrapperze serverRequest. Umożliwia ona uwierzytelnionym administratorom wysyłanie dowolnych wychodzących żądań HTTP poprzez dostarczenie złośliwych adresów URL do węzłów żądań przepływu pracy, przycisków akcji niestandardowych żądań lub wtyczki AI.
- CVE-2026-34825Średnie
NocoBase przed wersją 2.0.30 zawiera podatność we wtyczce plugin-workflow-sql, która podstawia zmienne szablonu bezpośrednio do surowych stringów SQL przez getParsedValue() bez parametryzacji lub escapowania. Każdy użytkownik, który uruchomi workflow zawierający węzeł SQL ze zmiennymi szablonu z danych kontrolowanych przez użytkownika, może wstrzyknąć dowolny SQL.
- CVE-2025-13877Średnie
Wykryto podatność w nocobase do wersji 1.9.4/2.0.0-alpha.37. Nieznana funkcja w pliku nocobase\packages\core\auth\src\base\jwt-service.ts komponentu JWT Service pozwala na manipulację argumentem API_KEY, co prowadzi do użycia twardo zakodowanego klucza kryptograficznego. Atak może być przeprowadzony zdalnie, ale wymaga wysokiego poziomu złożoności i jest trudny do wykorzystania. Exploit został publicznie ujawniony.
Oryginalny opis (angielski, źródło NVD)
NocoBase fails to sanitize rich text field values in the read renderer, allowing users with create permissions to store malicious HTML with event handlers. Attackers can write arbitrary markup through the collection API that executes in the browsers of all users viewing the affected record.

