CVE-2026-34825
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko wstrzyknięcia SQL, co może prowadzić do nieautoryzowanego dostępu do bazy danych, kradzieży danych lub modyfikacji danych.
Rekomendacja
Zaktualizuj NocoBase do wersji 2.0.30 lub nowszej. Ogranicz dostęp do workflow z węzłami SQL dla zaufanych użytkowników.
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-84701Średnie
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.
- 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-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 is an AI-powered no-code/low-code platform for building business applications and enterprise solutions. Prior to version 2.0.30, NocoBase plugin-workflow-sql substitutes template variables directly into raw SQL strings via getParsedValue() without parameterization or escaping. Any user who triggers a workflow containing a SQL node with template variables from user-controlled data can inject arbitrary SQL. This issue has been patched in version 2.0.30.

