Vulnerabilidades de Budibase
CVEs publicadas que afetam produtos de Budibase: 89 registro(s), com severidade, exploração e correções.
CVE-2026-73304
Média · 4.9
CWE-200 13/08/2026
Budibase: SSO OAuth2 Token Leakage via User Metadata Endpoints to Power-Role Users
Budibase is an open-source low-code platform. Prior to 3.39.25, GET /api/users/metadata and GET /api/users/metadata/:id returned user objects processed by packages/server/src/utilities/global.ts without removing oauth2.accessToken or oauth2.refreshToken. A user with the POWER role could retrieve the identity-provider credentials of SSO-authenticated users and use the refresh tokens for persistent access to connected services. This issue is fixed in version 3.39.25.
CVE-2026-73302
Crítica · 9.0
CWE-287 13/08/2026
Budibase: OIDC SSO account takeover: incoming identity linked by email without checking email_verified
Budibase is an open-source low-code platform. Prior to 3.39.30, the OIDC flow in packages/backend-core/src/middleware/passport/sso/oidc.ts resolved an email without getEmailVerified or an email_verified requirement, and packages/backend-core/src/middleware/passport/sso/sso.ts then used users.getGlobalUserByEmail as a fallback account-linking key. An attacker who can authenticate through a configured identity provider that asserts a victim email as unverified can have a fresh provider identity merged into the victim Budibase account and inherit the victim roles. This issue is fixed in version 3.39.30.
CVE-2026-72857
Alta · 7.7
CWE-522 13/08/2026
Budibase before 3.40.0 Credential Exposure via STRING Fields
Budibase before 3.40.0 fails to redact datasource credentials stored in STRING typed fields, allowing authenticated users to read MongoDB connection strings and Firebase private keys in plaintext. Attackers with table read permissions can retrieve datasource configurations through the read API to obtain live backend database credentials and service account keys.
CVE-2026-72856
Alta · 8.1
CWE-640 13/08/2026
Budibase before 3.40.0 Authentication Bypass via Tenant Owner Email
Budibase versions before 3.40.0 contain an authorization/authentication bypass in the PUT /api/global/users/tenant/owner (changeTenantOwnerEmail) endpoint. On self-hosted instances (SELF_HOSTED or DISABLE_ACCOUNT_PORTAL set), the cloudRestricted middleware is a no-op and the route is protected only by a general authentication check, so any authenticated user — including a lowest-privilege BASIC app user — can reassign the tenant account-holder (top-privilege admin) email to an attacker-controlled address. The attacker can then use the public password-reset flow to take over the admin account, leading to full administrative access.
CVE-2026-72853
Alta · 7.6
CWE-89 13/08/2026
Budibase before 3.40.0 SQL Injection via Oracle connector
Budibase before 3.40.0 contains a SQL injection vulnerability in the Oracle datasource connector's post-write row lookup that fails to escape table names in identifiers. Attackers with write permission on a table with a double-quote in its name can inject SQL that executes as the datasource's database user to read or modify arbitrary data.
CVE-2026-72855
Alta · 8.5
CWE-918 13/08/2026
Budibase before 3.40.0 DNS Rebinding SSRF via OpenAPI and REST
Budibase before 3.40.0 contains server-side request forgery vulnerabilities in OpenAPI query import and REST query execution that allow authenticated builder-level users to bypass DNS pinning protections through DNS rebinding attacks. Attackers can configure hostnames that resolve to public addresses during validation but resolve to loopback or private addresses during actual connection, allowing access to blocked internal HTTP services.
CVE-2026-72851
Crítica · 10.0
CWE-89 13/08/2026
Budibase before 3.40.0 SQL Injection via Unauthenticated Webhook
Budibase before 3.40.0 contains an unauthenticated SQL injection vulnerability in webhook-triggered automations with EXECUTE_QUERY steps. Attackers can POST attacker-controlled JSON to the webhook trigger endpoint to inject SQL payloads that execute with builder-configured database credentials, enabling data exfiltration, modification, and persistence in connected datasources like Snowflake.
CVE-2026-72850
Crítica · 9.1
CWE-22 13/08/2026
Budibase before 3.40.0 Arbitrary File Write via Path Traversal
Budibase before 3.40.0 fails to properly sanitize S3 object keys, allowing authenticated builders to upload files with traversal sequences that are preserved during export. Attackers can craft filenames containing .. segments that escape the temporary directory during workspace export, writing arbitrary content to any path writable by the Budibase process.
CVE-2026-72849
Alta · 7.7
CWE-352 13/08/2026
Budibase before 3.40.0 Identity Confusion via Chat-Link Handoff CSRF
Budibase before 3.40.0 contains a cross-site request forgery vulnerability in the chat-link handoff endpoint that allows attackers to bind an external chat identity to a victim's account. Attackers can craft a phishing page that auto-submits a POST request with a leaked confirmation token to bind their chat identity to a victim user's account, enabling impersonation within agent operations and inheritance of victim permissions.
CVE-2026-73618
Alta · 8.3
CWE-943 13/08/2026
Budibase Server before 3.40.0 NoSQL Injection via JSON Parameter
Budibase Server before 3.40.0 contains a NoSQL injection vulnerability in the MongoDB query execution endpoint where user-supplied parameters are interpolated into JSON query templates without proper sanitization of JSON metacharacters. Attackers with query write permission can inject JSON structural characters to alter MongoDB queries, bypassing filters to read, modify, or delete arbitrary documents.
CVE-2026-73617
Alta · 7.1
CWE-943 13/08/2026
Budibase before 3.40.0 NoSQL Injection via MongoDB datasource
Budibase before 3.40.0 contains a NoSQL injection vulnerability in the MongoDB datasource integration where user-supplied parameters are enriched with handlebars using noEscaping: true and parsed without operator filtering. Attackers can inject MongoDB operators through query parameters to bypass per-user access controls, read arbitrary documents, execute JavaScript via $where operators, or modify collections through update and delete operations.
CVE-2026-73409
Média · 5.1
CWE-203 12/08/2026
Budibase: Server Filesystem Existence/Read Oracle via Builder-Controlled MongoDB tlsCertificateKeyFile
Budibase is an open-source low-code platform. Prior to 3.40.1, packages/server/src/integrations/mongodb.ts passed builder-controlled tlsCertificateKeyFile and tlsCAFile values directly to MongoClient on Budibase Cloud. A builder could submit absolute server paths through /api/datasources/verify and distinguish readable existing files from missing files by comparing the driver error, exposing a filesystem existence and readability oracle on the shared server. This issue is fixed in version 3.40.1.
CVE-2026-73407
Crítica · 9.0
CWE-22 12/08/2026
Budibase: Unauthenticated REST Datasource Credential Theft via Cross-Origin Auth Leak (bypass of CVE-2026-48152))
Budibase is an open-source low-code platform. Prior to 3.40.1, RestIntegration._req in packages/server/src/integrations/rest.ts attached credentials from getAuthHeaders and defaultHeaders without requiring the final request destination to match the datasource origin. An unauthenticated caller of a PUBLIC POST /api/v2/queries/:queryId query could supply an absolute or parameterized path to an attacker-controlled host and receive the stored bearer, basic, or static-header credentials. This issue is fixed in version 3.40.1.
CVE-2026-73406
Alta · 7.5
CWE-200 12/08/2026
Budibase: Unauthenticated user information disclosure via public tenant user lookup endpoint
Budibase is an open-source low-code platform. Prior to 3.39.32, GET /api/global/users/tenant/:id was listed in PUBLIC_ENDPOINTS in packages/worker/src/api/index.ts, and tenantUserLookup returned a full PlatformUser document. An unauthenticated caller could query an email or user identifier, distinguish existing users from missing users, and obtain tenant identifiers, user identifiers, email addresses, SSO identifiers, and document revision metadata. This issue is fixed in version 3.39.32.
CVE-2026-73308
Média · 5.7
CWE-200 12/08/2026
Budibase: OAuth2 Token Disclosure via Automation Test Results Broadcast to Other Builders
Budibase is an open-source low-code platform. Prior to 3.39.25, packages/server/src/api/controllers/automation.ts returned automation test results containing trigger.outputs.user.oauth2, broadcast BuilderSocketEvent.AutomationTestProgress to the app room, and stored progress in packages/server/src/automations/testProgress.ts without user scoping. A co-builder could receive or poll another SSO-authenticated builder test and obtain OAuth2 access and refresh tokens. The fix adds sanitizeAutomationTestResult and isolates progress by user. This issue is fixed in version 3.39.25.
CVE-2026-73307
Média · 4.9
CWE-918 12/08/2026
Budibase: SSRF via bare fetch() in uploadUrl during AI table generation
Budibase is an open-source low-code platform. Prior to 3.39.4, uploadUrl in packages/server/src/utilities/fileUtils.ts used a bare server-side fetch for string attachment values passed by processAttachments in packages/server/src/sdk/workspace/ai/helpers/rows.ts. A builder with the AI table-generation feature could cause an attachment value to reference an internal service or cloud metadata endpoint, and the response would be stored as an attachment without fetchWithBlacklist validation. This issue is fixed in version 3.39.4.
CVE-2026-73306
Média · 5.3
CWE-204 12/08/2026
Budibase: Account Enumeration via Login Lockout Response Differential
Budibase is an open-source low-code platform. Prior to 3.39.25, POST /api/global/auth/:tenantId/login incremented the failure counter in packages/worker/src/api/controllers/global/auth.ts only for existing users, while packages/worker/src/middleware/emailLockout.ts returned X-Account-Locked and Retry-After only for locked identifiers. An unauthenticated attacker could compare the response after repeated failures to enumerate valid email addresses and temporarily lock valid accounts. This issue is fixed in version 3.39.25.
CVE-2026-73303
Alta · 8.2
CWE-639 12/08/2026
Budibase: Email Change IDOR via POST /api/v2/email allows full Account Takeover (accountId not validated against session)
Budibase is an open-source low-code platform. Prior to 3.40.0, POST /api/v2/email on account.budibase.app accepted a client-controlled accountId without binding it to the authenticated session, while checking only currentEmail. An authenticated attacker who obtains a victim account identifier can start the email-change workflow for the victim, receive and submit the verification code through POST /api/v2/email/verification, move the victim email to an attacker-controlled address, and complete a password reset as the victim. This issue is fixed in version 3.40.0.
CVE-2026-73301
Média · 4.3
CWE-862 12/08/2026
Budibase: Missing RBAC on GET /api/global/groups allows BASIC users to enumerate all tenant groups and role mappings
Budibase is an open-source low-code platform. Prior to 3.39.25, the GET /api/global/groups endpoint in packages/worker/src/api/routes/global/groups.ts omitted auth.builderOrAdmin, allowing an authenticated BASIC role user to enumerate tenant groups, role mappings and user memberships, builder permissions, and default-group flags. The disclosure exposes the tenant access-control structure to users who are not builders or administrators. This issue is fixed in version 3.39.25.
CVE-2026-73300
Crítica · 9.6
CWE-89 12/08/2026
Budibase: SQL Injection via `multipleStatements: true`
Budibase is an open-source low-code platform. Prior to 3.40.0, the MySQL integration component in Budibase is configured with multipleStatements: true, enabling execution of multiple SQL statements in a single query. Attackers can inject malicious SQL commands through user input fields, leading to complete database compromise. This vulnerability is fixed in 3.40.0.
CVE-2026-67311
Média · 6.8
CWE-918 01/08/2026
Budibase before 3.38.1 SSRF Blacklist Bypass via HTTP Redirect
Budibase before 3.38.1 contains a server-side request forgery vulnerability in the REST datasource integration that fails to validate HTTP redirects against the IP blacklist. Attackers with Builder role can configure a REST datasource pointing to an external server that returns a redirect to internal IP addresses, bypassing blacklist protection to access cloud metadata endpoints and internal services.
CVE-2026-54353
Alta · 7.1
CWE-367 26/06/2026
Budibase: Potential SSRF DNS rebinding bypass in outbound fetch validation
Budibase is an open-source low-code platform. Prior to 3.39.9, authenticated users with automation permissions can bypass Budibase's SSRF blacklist through DNS rebinding. The outbound fetch flow validates a hostname against the blacklist before the request is sent, but the actual socket connection later performs a separate DNS lookup through node-fetch. Since the validated IPs are never pinned to the connection, an attacker-controlled hostname can return a public IP during validation and a private/internal IP during the real connection. This results in a non-blind SSRF primitive against internal services reachable from the Budibase host, including loopback, RFC1918 ranges, and cloud metadata endpoints. This vulnerability is fixed in 3.39.9.
CVE-2026-54352
Crítica · 9.6
CWE-22 26/06/2026
Budibase: path traversal via links simbólicos no upload de ícones PWA
Budibase é uma plataforma low-code de código aberto. Antes da versão 3.39.9, `POST /api/pwa/process-zip` em packages/server/src/api/routes/static.ts:24 aceita um .zip enviado por um builder, extrai-o com extract-zip@2.0.1 em um diretório temporário e, para cada entrada listada em icons.json, valida o caminho do ícone, o abre e transmite os bytes para o MinIO. O objeto resultante é servido de volta por GET /api/assets/{appId}/pwa/{uuid}.png. O extract-zip@2.0.1 preserva destinos absolutos de links simbólicos ao restaurar entradas de links simbólicos. O validador de origem do ícone em packages/server/src/api/controllers/static/index.ts:259-268 resolve a string de origem do ícone em relação a baseDir (path.resolve), verifica resolvedSrc.startsWith(baseDir + path.sep) sobre essa string e chama fs.existsSync(resolvedSrc), que segue links simbólicos para confirmar que o destino existe. Nenhuma das três chamadas rejeita entradas de link simbólico. packages/backend-core/src/objectStore/objectStore.ts:302 então chama (await fsp.open(path)).createReadStream() no caminho resolvido. O fsp.open segue o link simbólico, os bytes do arquivo de destino são transmitidos para o MinIO, e a resposta do endpoint de busca de assets retorna esses bytes sem alteração. Resultado: um builder em nível de workspace consegue ler qualquer arquivo que o processo do servidor possa abrir. Esta vulnerabilidade foi corrigida na versão 3.39.9.
CVE-2026-54351
Crítica · 9.6
CWE-915 26/06/2026
Mass Assignment no Gatilho de Webhook do Budibase Permitindo Execução de Automação em Outro Workspace
O Budibase é uma plataforma low-code de código aberto. Antes da versão 3.39.9, o endpoint de gatilho de webhook do Budibase é acessível publicamente e repassa o corpo completo da requisição HTTP para os parâmetros de execução da automação. Uma vulnerabilidade de atribuição em massa (mass assignment) na função externalTrigger() permite que um atacante sobrescreva a propriedade interna appId ao incluí-la no corpo do POST do webhook. Quando a automação é processada de forma assíncrona (o caminho padrão para webhooks sem etapa collect), o worker executa a automação definida pelo atacante no contexto do workspace da vítima, concedendo acesso total de leitura e escrita ao banco de dados da vítima. Esta vulnerabilidade está corrigida na versão 3.39.9.
CVE-2026-54350
Crítica · 9.8
CWE-89 26/06/2026
Budibase: leitura e escrita de dados sem autenticação via consultas PUBLIC
O Budibase é uma plataforma low-code de código aberto. Antes da 3.39.12, um visitante não autenticado de qualquer aplicativo Budibase publicado lê todos os documentos da coleção de MongoDB, CouchDB, Elasticsearch, DynamoDB-PartiQL ou REST-with-JSON-body que serve de backend e, quando o criador publicou uma consulta de escrita PUBLIC, modifica todos os documentos dessa coleção com uma única requisição HTTP. enrichContext em packages/server/src/sdk/workspace/queries/queries.ts:121-138 substitui valores de parâmetros no corpo JSON bruto de uma consulta e depois executa JSON.parse sobre o resultado. O validador validateQueryInputs em packages/server/src/api/controllers/query/index.ts:61-71 rejeita apenas marcadores Handlebars ({{, }}) na entrada do usuário e não escapa metacaracteres JSON (\", \\, }). Um valor de parâmetro contendo aspas de fechamento e chaves adicionais faz com que campos controlados pelo atacante sejam incluídos no objeto de filtro analisado. Para find do Mongo, o filtro analisado é passado diretamente para collection.find() (packages/server/src/integrations/mongodb.ts:506-510). Análise JSON com chaves duplicadas sobrescreve o {name: \"...\"} definido pelo criador com {name: {$exists: true}} e retorna todos os documentos. A mesma primitiva contra uma consulta updateMany (mongodb.ts:577-585) amplia o escopo do filtro para toda a coleção, enquanto o corpo $set controlado pelo criador é executado em todos os documentos correspondentes. O middleware authorized em packages/server/src/middleware/authorized.ts:141-148 faz curto-circuito quando o papel da consulta é PUBLIC. CSRF não é aplicado nesse caminho. POST /api/v2/queries/:queryId (packages/server/src/api/routes/query.ts:63) aceita a chamada sem sessão, apenas com o cabeçalho x-budibase-app-id, que é público a partir da URL do aplicativo publicado. Esta vulnerabilidade foi corrigida na 3.39.12.