CVE-2026-100683
WysokieCVSS 8.0Streszczenie
Budibase (@budibase/server) przed wersją 3.45.0 buduje DDL zmiany nazwy kolumn MySQL i MSSQL w packages/backend-core/src/sql/sqlTable.ts, interpolując identyfikatory bezpośrednio do surowego zapytania bez użycia helperów quoteMySqlIdentifier / quoteSqlServerIdentifier. Atakujący z uprawnieniami DDL na podłączonym źródle danych MySQL/MSSQL może utworzyć kolumnę zawierającą backtick lub apostrof oraz dodatkowy SQL; gdy builder zmieni nazwę tej kolumny przez UI, wstrzyknięty SQL zostanie wykonany.
Ocena ryzyka
Ponieważ połączenie MySQL jest otwierane z multipleStatements: true, złożone instrukcje wykonują się jako użytkownik źródła danych Budibase, umożliwiając dowolne odczyty, zapisy lub destrukcyjne operacje na podłączonej bazie danych poza modelem uprawnień Budibase.
Rekomendacja
Zaktualizuj Budibase do wersji 3.45.0 lub nowszej. Ogranicz uprawnienia DDL na podłączonych źródłach danych i zweryfikuj integralność danych w bazach MySQL/MSSQL.
Inne podatności w Budibase
Zobacz wszystkie- CVE-2026-100688Średnie
Budibase server przed wersją 3.45.0 zawiera podatność cross-tenant information disclosure w endpoincie GET /api/applications/:appId/appPackage, która pozwala uwierzytelnionym użytkownikom odczytać metadane aplikacji i kod źródłowy innego tenanta. Atakujący może podać identyfikator aplikacji ofiary, aby bez kontroli autoryzacji uzyskać wrażliwe szczegóły aplikacji, w tym strukturę nawigacji, nazwy ról, wewnętrzne adresy URL ekranów, fragmenty JavaScript i identyfikatory użytkowników.
- CVE-2026-100687Średnie
Budibase Server przed wersją 3.45.0 nie redaguje jawnych poświadczeń źródeł danych przed rozgłaszaniem aktualizacji tabel zewnętrznych do pokoju websocket współpracy Builder. Atakujący z dostępem do Builder mogą przechwycić nieocenzurowane obiekty źródeł danych zawierające hasła do baz danych i klucze API, obserwując operacje zapisu lub usunięcia tabeli.
- CVE-2026-100686Wysokie
Budibase w wersjach przed 3.45.0 nie weryfikuje autoryzacji na poziomie aplikacji w punkcie końcowym POST /api/global/groups/:groupId/apps, umożliwiając builderom przypisywanie ról aplikacji poza granicami obszaru roboczego. Builder jednego obszaru roboczego może wykorzystać brak sprawdzania autoryzacji na poziomie aplikacji, aby przyznać sobie role administratora w innych obszarach roboczych poprzez modyfikację mapowań ról grup użytkowników.
- CVE-2026-100685Wysokie
Budibase przed wersją 3.45.0 nieprawidłowo ogranicza zakres endpointu GET /api/chat-links do workspace'u, co pozwala builderom wyliczać rekordy powiązań tożsamości czatu we wszystkich workspace'ach w tenancie. Atakujący z dostępem builder do jednego workspace'u może odczytać wrażliwe dane powiązań tożsamości czatu, w tym identyfikatory użytkowników i zewnętrzne identyfikatory usług czatu z innych workspace'ów, do których nie ma uprawnień.
- CVE-2026-100684Wysokie
Budibase w wersjach od 3.41.0 do 3.45.0 zawiera obejście uwierzytelniania w ścieżce logowania OIDC/SSO w @budibase/server. Gdy żaden istniejący użytkownik nie pasuje do przychodzącego podmiotu SSO, serwer wyszukuje oczekujące zaproszenia użytkowników wyłącznie po adresie e-mail potwierdzonym przez IdP — bez weryfikacji kodu zaproszenia i bez sprawdzenia email_verified. Atakujący mogący zarejestrować się w zaufanym IdP i podać zaproszony adres e-mail ofiary przejmuje oczekujące zaproszenie i dziedziczy wszystkie przyznane uprawnienia, w tym builder i admin.global.
- CVE-2026-100682Wysokie
Budibase Server przed wersją 3.45.0 zawiera podatność na dowolny zapis plików w endpointcie przesyłania ikon PWA, który rozpakowuje dostarczone przez użytkownika archiwa ZIP bez odpowiedniej walidacji dowiązań symbolicznych. Atakujący z rolą BUILDER może stworzyć złośliwy ZIP z dowiązaniami symbolicznymi i zduplikowanymi wpisami plików, aby zapisać dowolne pliki jako root.
- CVE-2026-100681Średnie
Budibase przed wersją 3.45.0 zawiera nieuwierzytelnioną podatność server-side request forgery i eksfiltracji poświadczeń w endpoincie webhook Microsoft Teams, który przyjmuje sfałszowane aktywności Bot Framework z dowolnymi wartościami serviceUrl. Atakujący może wysłać spreparowane żądanie POST, aby wstrzyknąć kontrolowany przez siebie serviceUrl, który jest utrwalany i używany do wszystkich kolejnych odpowiedzi bota, powodując wysyłanie aktywnych tokenów dostępu Microsoft OAuth w nagłówkach Authorization do hosta atakującego oraz umożliwiając ślepy dostęp do sieci wewnętrznej.
- CVE-2026-100680Wysokie
Budibase w wersjach przed 3.45.0 nie wyłącza rozwiązywania zewnętrznych referencji JSON w walidatorze importu OpenAPI/Swagger, co pozwala uwierzytelnionym builderom odczytywać dowolne pliki lokalne. Atakujący z dostępem builder może osadzić referencje file:// w specyfikacjach OpenAPI przesyłanych do endpointu importu, aby eksfiltrować wrażliwe pliki, w tym zmienne środowiskowe zawierające sekrety JWT, klucze API i poświadczenia baz danych.
- CVE-2026-48152Wysokie
Budibase to otwartoźródłowa platforma low-code, która przed wersją 3.39.0 miała luki w zabezpieczeniach związane z dostępem do tras GET i PUT dla pojedynczego źródła danych. Użytkownicy z rolą Basic mogli uzyskać dostęp do poufnych informacji, takich jak sekrety autoryzacji, poprzez manipulację danymi konfiguracyjnymi.
- CVE-2026-46427Wysokie
Budibase to otwartoźródłowa platforma low-code, która przed wersją 3.38.3 nie maskowała poprawnie wrażliwych danych w integracji z Snowflake. Użytkownik z autoryzacją BASIC mógł uzyskać pełny klucz PEM w formacie tekstowym.
Oryginalny opis (angielski, źródło NVD)
Budibase (@budibase/server) before 3.45.0 builds MySQL and MSSQL column-rename DDL in packages/backend-core/src/sql/sqlTable.ts by interpolating identifiers directly into a raw query string (backtick-quoted for MySQL, a single-quoted sp_rename literal for MSSQL) without applying the project's quoteMySqlIdentifier / quoteSqlServerIdentifier helpers. An attacker with DDL rights on a connected MySQL/MSSQL datasource can create a column whose name contains a backtick (MySQL) or single quote (MSSQL) plus additional SQL; Budibase's schema introspection stores the name verbatim, and when a Budibase builder later renames that column through the UI (POST /api/tables with _rename.old), the embedded quote character terminates the identifier and the injected SQL is executed. Because the MySQL connection is opened with multipleStatements: true, stacked statements run as Budibase's datasource user, allowing arbitrary reads, writes, or destructive operations on the connected database outside Budibase's row/table permission model. Fixed in 3.45.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

