Skip to content
Heist/ feed
Back to feed
High

Budibase 3.39.4 before 3.40.0 Authorization Regression via S3 Presigned URL

Type: advisorySources: OSV

Budibase versions 3.39.4 before 3.40.0 contain an authorization regression in the S3 attachment upload endpoint that allows BASIC users to obtain S3 PutObject presigned URLs by sending POST requests to the attachments endpoint. The route was changed from a BUILDER permission check to a TABLE/WRITE check, which BASIC users hold by default. Attackers can specify arbitrary S3 buckets in the request body to generate presigned URLs for writing to any bucket accessible by the stored IAM credentials, enabling unauthorized file uploads.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-72859
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 03:30 UTC · Revision 1

Source evidence

Budibase 3.39.4 before 3.40.0 Authorization Regression via S3 Presigned URL

core-osv · Original source

Published 14 Aug 2026, 11:35 UTC

Budibase versions 3.39.4 before 3.40.0 contain an authorization regression in the S3 attachment upload endpoint that allows BASIC users to obtain S3 PutObject presigned URLs by sending POST requests to the attachments endpoint. The route was changed from a BUILDER permission check to a TABLE/WRITE check, which BASIC users hold by default. Attackers can specify arbitrary S3 buckets in the request body to generate presigned URLs for writing to any bucket accessible by the stored IAM credentials, enabling unauthorized file uploads.

osv:CVE-2026-72859
Complete source record
{
  "id": "dd6972e2d85b2822eb743ebb640bd27ad88315bc728b3a10fa6273b69baff188",
  "url": "https://osv.dev/vulnerability/CVE-2026-72859",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Budibase 3.39.4 before 3.40.0 Authorization Regression via S3 Presigned URL",
    "summary": "Budibase versions 3.39.4 before 3.40.0 contain an authorization regression in the S3 attachment upload endpoint that allows BASIC users to obtain S3 PutObject presigned URLs by sending POST requests to the attachments endpoint. The route was changed from a BUILDER permission check to a TABLE/WRITE check, which BASIC users hold by default. Attackers can specify arbitrary S3 buckets in the request body to generate presigned URLs for writing to any bucket accessible by the stored IAM credentials, enabling unauthorized file uploads.",
    "evidence": "osv:CVE-2026-72859",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-72859",
      "aliases": [
        "CVE-2026-72859",
        "GHSA-xcx6-4f2g-hhgx"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/budibase/budibase",
              "type": "GIT",
              "events": [
                {
                  "introduced": "54b592e50af8cde47a815e6fe458e24be66a1c3a"
                },
                {
                  "fixed": "661fe55d609404d073eea86702e0bde7942c3f10"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.39.4"
                      },
                      {
                        "fixed": "3.40.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.39.4"
                      },
                      {
                        "fixed": "3.40.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.39.32",
            "3.39.31",
            "3.39.30",
            "3.39.29",
            "3.39.28",
            "3.39.27",
            "3.39.25",
            "3.39.26",
            "3.39.24",
            "3.39.23",
            "3.39.22",
            "3.39.21",
            "3.39.20",
            "3.39.14",
            "3.39.17",
            "3.39.19",
            "3.39.18",
            "3.39.16",
            "3.39.15",
            "3.39.13",
            "3.39.12",
            "3.39.11",
            "3.39.10",
            "3.39.9",
            "3.39.8",
            "3.39.7",
            "3.39.6",
            "3.39.5",
            "3.39.4"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72859.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:32.838514314Z",
      "provider": "osv",
      "references": [
        "https://github.com/Budibase/budibase/security/advisories/GHSA-xcx6-4f2g-hhgx",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72859.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-72859",
        "https://www.vulncheck.com/advisories/budibase-before-authorization-regression-via-s3-presigned-url"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-863"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72859.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-72859",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 500036,
  "published_at": "2026-08-14T11:35:43.574+00:00"
}