Public mode

No access to your tenant or devices. Every item links to its source. What this means

Sources need attention Customize Public modeDiscuss ChangeIntel on Discord

budibase · Vulnerability

CVSS 3.1 7.5 HIGHEUVD CVSS 3.1 7.5 CVSS 3.1 · [email protected] · Secondary 7.5 HIGHCVSS_V3 Publisher rating HIGHFixed by @budibase/server 3.39.0KEV status unknown

cve-program · CVE-2026-48151

Published

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema. As a result, an unauthenticated caller can update the body schema for a known webhook and mutate the corresponding automation trigger output schema. This vulnerability is fixed in 3.39.0.

Read the publisher's advisory

euvd · EUVD-2026-32589

Published

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema. As a result, an unauthenticated caller can update the body schema for a known webhook and mutate the corresponding automation trigger output schema. This vulnerability is fixed in 3.39.0.

Read the publisher's advisory

nvd · CVE-2026-48151

Published

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema. As a result, an unauthenticated caller can update the body schema for a known webhook and mutate the corresponding automation trigger output schema. This vulnerability is fixed in 3.39.0.

Read the publisher's advisory

osv · GHSA-qhv3-wjg8-6fx6

Published

The webhook schema-building endpoint is registered under `builderRoutes`, but the generic authorization middleware skips authorization for all paths matching `/api/webhooks/schema`. As a result, an unauthenticated caller can update the body schema for a known webhook and mutate the corresponding automation trigger output schema. ### Details The route appears to be builder-only: - `packages/server/src/api/routes/webhook.ts:5-9` ```ts 5:builderRoutes 6: .get("/api/webhooks", controller.fetch) 7: .put("/api/webhooks", webhookValidator(), controller.save) 8: .delete("/api/webhooks/:id/:rev", controller.destroy) 9: .post("/api/webhooks/schema/:instance/:id", controller.buildSchema) ``` However, webhook endpoint detection explicitly includes `schema`: - `packages/server/src/middleware/utils.ts:3-9` ```ts 3:const WEBHOOK_ENDPOINTS = new RegExp( 4: "^/api/webhooks/(trigger|schema|discord|ms-teams|slack)(/|$)" 5:) 6: 7:export function isWebhookEndpoint(ctx: UserCtx): boolean { 8: const path = ctx.path || ctx.request.url.split("?")[0] 9: return WEBHOOK_ENDPOINTS.test(path) ``` The authorization middleware bypasses all webhook endpoints before checking `ctx.user` or permissions: - `packages/server/src/middleware/authorized.ts:90-99` ```ts 90: ) => 91: async (ctx: UserCtx, next: any) => { 92: // webhooks don't need authentication, each webhook unique 93: // also internal requests (between services) don't need authorized 94: if (isWebhookEndpoint(ctx) || ctx.internal) { 95: return next() 96: } 97: 98: if (!ctx.user) { 99: return ctx.throw(401, "No user info found") ``` The bypassed controller writes attacker-derived schema data to the webhook and automation trigger outputs: - `packages/server/src/api/controllers/webhook.ts:56-83` ```ts 56:export async function buildSchema( 57: ctx: Ctx<BuildWebhookSchemaRequest, BuildWebhookSchemaResponse> 58:) { 59: await context.doInWorkspaceContext(ctx.params.instance, async () => { 60: const db = context.getWorkspaceDB() 61: const webhook = await db.get<Webhook>(ctx.params.id) 62: webhook.bodySchema = toJsonSchema(ctx.request.body) 63: // update the automation outputs 64: if (webhook.action.type === WebhookActionType.AUTOMATION) { 65: let automation = await db.get<Automation>(webhook.action.target) 66: const autoOutputs = automation.definition.trigger.schema.outputs 67: let properties = webhook.bodySchema?.properties 68: // reset webhook outputs 69: autoOutputs.properties = { 70: body: autoOutputs.properties.body, 71: } 72: for (let prop of Object.keys(properties || {})) { 73: if (properties?.[prop] == null) { 74: continue 75: } 76: const def = properties[prop] 77: if (typeof def === "boolean") { 78: continue 79: } 80: autoOutputs.properties[prop] = { 81: type: def.type as AutomationIOType, 82: description: AUTOMATION_DESCRIPTION, 83: } ``` The route grouping suggests builder authorization was intended, but the global webhook bypass removes it. ### PoC Non-destructive validation approach: 1. Create a webhook-backed automation as a builder. 2. Record the workspace ID and webhook ID. 3. Log out or send no auth headers. 4. Send: ```http POST /api/webhooks/schema/<workspaceId>/<webhookId> HTTP/1.1 content-type: application/json {"unauth_schema_probe":"test"} ``` 5. Fetch the webhook as a builder and observe that `bodySchema` has changed. 6. For automation-backed webhooks, inspect the automation trigger schema outputs and observe that properties were reset/updated. ### Impact An unauthenticated attacker can modify webhook schema metadata and automation trigger output schema for known webhook IDs. This can corrupt builder-visible automation definitions, alter downstream binding behavior, and disrupt webhook-backed automation workflows.

Read the publisher's advisory

Affected versions, risk and source history

Exploitation and risk

Source status

CISA KEV lists vulnerabilities known to be exploited. FIRST EPSS estimates the likelihood of exploitation in the next 30 days. An unavailable score does not mean zero risk.

Which CVEs have scores here?

This view includes predictions for CVE identifiers explicitly listed in public NuGet advisories. Microsoft release pages have their own prediction coverage. Check source status for the scope and latest checks.

No exploitation or prediction data is available here for these CVEs. This does not mean they are safe or unlikely to be exploited.

Risk history

Compare earlier KEV listings and daily EPSS scores. Advisory wording and affected versions have a separate history.

When does an EPSS score appear as a change?

A prediction change is reported when EPSS rises from below 10% to 10% or higher. Other daily score changes remain in this history.

Advisory history

12 saved versions

See how the publisher's advisory changed over time. Each link opens the version saved at that time. The publisher's update date can differ from the date shown here.

How advisory history works

Each link identifies one complete publisher record. History can include advisories that previously shared an identifier; an identifier removed by a publisher no longer establishes a current relationship. A historical link shows only that record and earlier saved versions. Failed checks and unchanged reads do not create new versions.

13 Nov 2026 13:58:56 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

11 Nov 2026 13:01:54 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

9 Nov 2026 12:04:12 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

7 Nov 2026 11:29:35 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

5 Nov 2026 10:39:49 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

3 Nov 2026 09:59:09 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

1 Nov 2026 09:08:35 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

30 Oct 2026 08:50:51 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

28 Oct 2026 07:09:41 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

euvd · EUVD-2026-32589 · Published

25 Oct 2026 12:17:32 UTC

Budibase is an open-source low-code platform. Prior to 3.39.0, the webhook schema-building endpoint is registered under builderRoutes, but the generic authorization middleware skips authorization for all paths matching /api/webhooks/schema.…

nvd · CVE-2026-48151 · Published

24 Oct 2026 13:17:17 UTC

Budibase: Webhook schema endpoint authorization bypass allows unauthenticated mutation of webhook and automation schema

osv · GHSA-qhv3-wjg8-6fx6 · Published

23 Oct 2026 15:48:27 UTC

Budibase: Webhook schema endpoint authorization bypass allows unauthenticated mutation of webhook and automation schema

cve-program · CVE-2026-48151 · Published

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 15 Nov 12:11 UTC · 256 of 275 readable · 252 fully read · documentation 469/469 current