CVE-2026-50137

CRITICALNVD 9.49.4—
EchelonGraph scoreMEDIUM confidence

This critical-severity CVE scores 9.4 under NVD CVSS v3. EPSS exploit probability: 0.4%, top 65% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, nvd
Elevated
9.4EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.4%CVSS: 9.4Exploit: Elevated riskExposed services: Not assessed

A fix is available — apply it.

Budibase is an open-source low-code platform. Prior to 3.39.0, an anonymous attacker who knows or can enumerate a workspace id (app_...) and an S3-source datasource id (ds_...) can call this endpoint with no auth and obtain a 15-minute pre-signed PUT URL minted on the victim's IAM identity. The endpoint also returns the publicUrl so the attacker knows exactly where their PUT lands. Because bucket is attacker-controlled, the attacker can write to any bucket those IAM credentials can write to, not only the bucket the datasource was configured for. The Budibase server route POST /api/attachments/:datasourceId/url (packages/server/src/api/routes/static.ts) is registered with only the recaptcha middleware. There is no authorized(...) middleware in the chain. The controller (packages/server/src/api/controllers/static/index.ts::getSignedUploadURL) looks the requested datasource up, instantiates an AWS S3 client with the datasource's stored accessKeyId / secretAccessKey, and returns an AWS Signature V4 pre-signed PutObjectCommand URL for the caller-supplied bucket and key. The bucket is not pinned to the datasource's configured bucket. The workspace context required by sdk.datasources.get is sourced by getWorkspaceIdFromCtx (packages/backend-core/src/utils/utils.ts) from any of: the x-budibase-app-id header, the JSON body appId, a path segment that begins with the workspace prefix, or ?appId=. auth.buildAuthMiddleware([], { publicAllowed: true }) runs before any of this and explicitly allows anonymous requests. The currentWorkspace middleware's "deny access to dev preview" branch only triggers under isBrowser(ctx) && !isApiKey(ctx); isBrowser checks the parsed User-Agent for a recognised browser, so any non-browser client (curl, the supplied PoC, any tool not setting a browser UA) is neither and reaches dev workspaces too. This vulnerability is fixed in 3.39.0.

CVSS v3
9.4
EG Score
9.4CRITICALmedium confidence
EG Risk
58
EG Risk 58/100

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity94% × 45%
Exploitation40% × 40%
Automatability0% × 15%
EPSS PROB
0.4%
EPSS %ILE
33rd
KEV
Not listed

Published

June 22, 2026

Last Modified

June 30, 2026

Advisory Details (1)

Auto-updated Oct 2, 2026
🔬 Proof of concept available. Patch available. Sources: github.
githubMentions a patch (unverified)🟡 PoC Available

Budibase: POST /api/attachments/:datasourceId/url is unauthenticated and lets anonymous callers mint S3 PUT pre-signed URLs using stored datasource IAM credentials · Advisory · Budibase/budibase · GitHub

https://github.com/Budibase/budibase/security/advisories/GHSA-35c4-rvc8-frhm

Vendor Advisories for CVE-2026-50137(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
npm(1)
PackageVulnerable rangeFix by version rangeDependents
@budibase/server—
  • every version up to 3.39.0: fixed in 3.39.0
—

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 8× in last 7d / 26× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 132 total refreshes for this CVE.

  1. 2026-10-10 20:00 UTCEPSS rescore
  2. 2026-10-09 20:07 UTCEPSS rescore
  3. 2026-10-08 17:12 UTCEPSS rescore
  4. 2026-10-08 05:05 UTCOSV refresh
  5. 2026-10-07 23:48 UTCEPSS rescore
  6. 2026-10-06 15:18 UTCEPSS rescore
  7. 2026-10-05 17:43 UTCEPSS rescore
  8. 2026-10-04 23:22 UTCEPSS rescore
  9. 2026-10-03 14:26 UTCEPSS rescore
  10. 2026-10-02 17:56 UTCEPSS rescore
  11. 2026-10-01 19:50 UTCEPSS rescore
  12. 2026-09-30 15:03 UTCEPSS rescore
  13. 2026-09-28 13:51 UTCEPSS rescore
  14. 2026-09-27 13:48 UTCEPSS rescore
  15. 2026-09-26 15:59 UTCEPSS rescore
  16. 2026-09-26 00:27 UTCEPSS rescore
  17. 2026-09-23 17:53 UTCEPSS rescore
  18. 2026-09-20 20:16 UTCEPSS rescore
  19. 2026-09-18 19:28 UTCEPSS rescore
  20. 2026-09-18 11:12 UTCEG score recompute
  21. 2026-09-16 14:08 UTCEPSS rescore
  22. 2026-09-16 05:15 UTCEPSS rescore
  23. 2026-09-14 02:07 UTCEG score recompute
  24. 2026-09-13 16:47 UTCEPSS rescore
  25. 2026-09-13 12:28 UTCEG score recompute
Show 75 more
  1. 2026-09-11 14:53 UTCEPSS rescore
  2. 2026-09-10 09:35 UTCEPSS rescore
  3. 2026-09-08 22:01 UTCEPSS rescore
  4. 2026-09-07 16:01 UTCEPSS rescore
  5. 2026-09-06 13:47 UTCEPSS rescore
  6. 2026-09-04 05:06 UTCEPSS rescore
  7. 2026-09-02 14:12 UTCEPSS rescore
  8. 2026-09-01 13:54 UTCEPSS rescore
  9. 2026-09-01 04:40 UTCEPSS rescore
  10. 2026-08-30 20:30 UTCEG score recompute
  11. 2026-08-30 19:17 UTCEPSS rescore
  12. 2026-08-30 01:22 UTCEPSS rescore
  13. 2026-08-28 21:41 UTCEPSS rescore
  14. 2026-08-27 14:25 UTCEPSS rescore
  15. 2026-08-26 14:46 UTCEPSS rescore
  16. 2026-08-25 13:49 UTCEPSS rescore
  17. 2026-08-24 22:13 UTCEG score recompute
  18. 2026-08-24 13:55 UTCEG score recompute
  19. 2026-08-22 14:54 UTCEG score recompute
  20. 2026-08-21 23:49 UTCEPSS rescore
  21. 2026-08-21 00:22 UTCEG score recompute
  22. 2026-08-20 22:55 UTCEPSS rescore
  23. 2026-08-20 07:49 UTCEG score recompute
  24. 2026-08-19 17:04 UTCEPSS rescore
  25. 2026-08-19 04:51 UTCEG score recompute
  26. 2026-08-18 13:48 UTCEPSS rescore
  27. 2026-08-17 17:02 UTCEG score recompute
  28. 2026-08-17 13:47 UTCEPSS rescore
  29. 2026-08-16 16:53 UTCEG score recompute
  30. 2026-08-16 14:56 UTCEPSS rescore
  31. 2026-08-16 04:55 UTCEG score recompute
  32. 2026-08-16 02:14 UTCEPSS rescore
  33. 2026-08-15 02:40 UTCEG score recompute
  34. 2026-08-15 01:30 UTCEPSS rescore
  35. 2026-08-13 22:40 UTCEG score recompute
  36. 2026-08-13 22:00 UTCEPSS rescore
  37. 2026-08-12 17:32 UTCEG score recompute
  38. 2026-08-12 13:51 UTCEPSS rescore
  39. 2026-08-11 17:29 UTCEG score recompute
  40. 2026-08-11 01:22 UTCEG score recompute
  41. 2026-08-11 00:00 UTCEPSS rescore
  42. 2026-08-09 17:12 UTCEG score recompute
  43. 2026-08-09 13:46 UTCEPSS rescore
  44. 2026-08-08 17:18 UTCEG score recompute
  45. 2026-08-08 16:37 UTCEPSS rescore
  46. 2026-08-07 17:23 UTCEG score recompute
  47. 2026-08-06 17:29 UTCEG score recompute
  48. 2026-08-06 13:47 UTCEPSS rescore
  49. 2026-08-05 21:33 UTCEG score recompute
  50. 2026-08-05 19:17 UTCEPSS rescore
  51. 2026-08-04 15:15 UTCEG score recompute
  52. 2026-08-04 15:10 UTCEPSS rescore
  53. 2026-08-04 10:39 UTCEPSS rescore
  54. 2026-08-03 14:18 UTCEG score recompute
  55. 2026-08-03 10:36 UTCEPSS rescore
  56. 2026-08-02 04:28 UTCEG score recompute
  57. 2026-08-02 02:27 UTCEPSS rescore
  58. 2026-08-01 04:26 UTCEG score recompute
  59. 2026-08-01 04:16 UTCEPSS rescore
  60. 2026-07-30 19:22 UTCEG score recompute
  61. 2026-07-30 16:28 UTCEPSS rescore
  62. 2026-07-30 02:40 UTCEG score recompute
  63. 2026-07-30 01:30 UTCEPSS rescore
  64. 2026-07-29 01:20 UTCEG score recompute
  65. 2026-07-28 15:37 UTCEPSS rescore
  66. 2026-07-27 17:56 UTCEG score recompute
  67. 2026-07-26 15:56 UTCEG score recompute
  68. 2026-07-26 14:54 UTCEPSS rescore
  69. 2026-07-25 14:18 UTCEPSS rescore
  70. 2026-07-24 14:18 UTCEPSS rescore
  71. 2026-07-23 14:18 UTCEPSS rescore
  72. 2026-07-23 03:18 UTCEG score recompute
  73. 2026-07-22 14:08 UTCEPSS rescore
  74. 2026-07-21 15:25 UTCEPSS rescore
  75. 2026-07-20 17:08 UTCEPSS rescore

Frequently asked(5)

What is CVE-2026-50137?
CVE-2026-50137 is a critical vulnerability published on June 22, 2026. Budibase is an open-source low-code platform. Prior to 3.39.0, an anonymous attacker who knows or can enumerate a workspace id (app...) and an S3-source datasource id (ds...) can call this endpoint with no auth and obtain a 15-minute pre-signed PUT URL minted on the victim's IAM identity. The…
When was CVE-2026-50137 disclosed?
CVE-2026-50137 was first published on June 22, 2026, with the most recent update on June 30, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-50137 actively exploited?
CVE-2026-50137 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.4% probability of exploitation in the next 30 days (33rd percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-50137?
CVE-2026-50137 has a CVSS v3 base score of 9.4 (NVD).
How do I remediate CVE-2026-50137?
A fix for CVE-2026-50137 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-50137 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-50137

Explore →

Is Your Infrastructure Affected by CVE-2026-50137?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.