Em Budibase v 3.39.4, uma regressão no nível de autorização para o S 3 o endpoint de upload anexo permite que qualquer usuário de aplicativo BASIC obtenha S 3 PutObject pré- assinado URLs. O objetivo usa o nível de permissão TABLE/WRITE em vez do nível de BUILDER pretendido definido em v 3.39.3. Além disso, o controlador não pin o balde de alvo para o balde configurado da fonte de dados, permitindo gravar para qualquer S 3 as credenciais do IAM armazenadas podem acessar. 1. Como um usuário de aplicativos BASIC, descubra ou obtenha um S válido 3 ID de fonte de dados dentro do aplicativo 2. Enviar um pedido POST: ``` POST /api/ attachments/ /url Content- Type: app/json x- budibase- app-id. {"bucket": "target-bucket", "key": "malicious-file.html"} ```.
3. A resposta contém um S válido 3 URL pré- assinado do PutObject 4. Use o URL pré- assinado para enviar conteúdo arbitrário para qualquer S gravable 3 balde no escopo de credenciais do IAM A rota `/api/attachements/:datasourceId/url` foi alterada de `autorized( BUILDER)` em v 3.39.3 para `autorizado(Tipo de Permissão.TÁBIL, Nível de Permissão. 3.39.4. Os usuários BASIC têm permissões TABLE/ WRITE por padrão, para que possam chamar este endpoint. O controlador em `pacotes/server/src/api/controllers/static/index.ts: 614 - 632 ` aceita o parâmetro `bucket` diretamente do corpo do pedido e passa- o para `getSignifishedUrl` sem validar contra o balde configurado da fonte de dados. A suite de testes em `pacotes/server/src/api/routes/tests/static.spec.ts: 218 - 235 ` confirma este comportamento. O teste autentica-se como um usuário de papel BASIC e gera com sucesso uma URL de upload assinada, verificando o HTTP 200 e um definido `res.body.signedUrl`.
1. Restaurar o intergiro `autorized( BUILDER)` na rota 2. Adicione `paramResource("datasourceId")` para garantir que o fonte de dados pertence ao aplicativo do chamador 3. Pin o S 3 balde para `datasource.config.bucket` no controlador, ignorando o valor do balde fornecido pelo chamador Registro de aconselhamento: GHSA-xcx 6 - 4 f 2 G-hhgx. Não há nenhum identificador adicional listado.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 24 T 21: 17: 03.000 Z e lista a sua última modificação como 2026 - 07 - 24 T 21: 17: 03.000 Z. Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N.
Informações sobre software e versão afetadas: pacote npm @budibase/ server — ECOSISTEM: introduzido 0, última afetada 3.38.1. Classificação e evidência: identificadores de fraqueza CWE- 863. O registro contém 3 suporte de referências nestes tipos: WEB, PACKAGE.