PatchSiren cyber security CVE debrief
CVE-2026-113652 apostrophecms CVE debrief
ApostropheCMS uploadfs Azure backend leaks account-level SAS token into every public attachment URL when configured with `sas: true`. This allows anyone who can see an attachment URL to read, overwrite, delete, and list every blob in the container for the SAS lifetime. The issue arises from a credential-bearing client URL reused as the public base URL. Defenders should assess exposure and prioritize remediation, focusing on verifying affected versions and configurations, and updating uploadfs to a secure version.
- Vendor
- apostrophecms
- Product
- uploadfs
- CVSS
- MEDIUM 5.6
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-20
- Original CVE updated
- 2026-10-20
- Advisory published
- 2026-10-20
- Advisory updated
- 2026-10-20
Who should care
Defenders responsible for ApostropheCMS installations using uploadfs with Azure backend and `sas: true` should assess exposure and prioritize remediation. This includes verifying affected versions and configurations, updating uploadfs to a secure version, and reviewing compensating controls for exposed systems.
Why it matters
Defenders should care about CVE-2026-113652 because it allows unauthorized access to sensitive data, possible overwrite or deletion of blobs, and exposure of SAS tokens to anonymous site visitors. Affected ApostropheCMS installations using uploadfs with Azure backend and `sas: true` require verification and remediation.
- Potential unauthorized access to sensitive data
- Possible overwrite or deletion of blobs
- Exposure of SAS tokens to anonymous site visitors
- Need for verification of affected versions and configurations
Technical summary
The issue arises from the `createContainer()` function building the `BlobServiceClient` from a URL that embeds the full SAS query string, which is then inherited by Azure SDK v12 derived clients. As a result, `getUrl()` returns a base URL carrying the complete account/container SAS signature, and Apostrophe's `attachment.url()` prepends it to every public attachment link. This leads to unauthorized access to sensitive data, possible overwrite or deletion of blobs, and exposure of SAS tokens to anonymous site visitors.
Defensive priority
Defenders should prioritize verifying exposure and remediating vulnerable uploadfs configurations, especially those using Azure backend with `sas: true`.
Recommended defensive actions
- Verify if uploadfs is configured with Azure backend and `sas: true`
- Update uploadfs to version 1.28.0 or later
- Review and update attachment URLs to prevent exposure of SAS tokens
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The issue is verified at commit `5a3746aaed49761e171c2cbfe793267c959829fd` (uploadfs 1.27.0 in the apostrophe monorepo). This verification was done through a detailed review of the uploadfs codebase and Azure backend configuration. The vulnerability is confirmed to exist in uploadfs versions prior to 1.28.0. Defenders should verify their installations and configurations to assess exposure.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-113652 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-113652
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-113652 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-113652
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
ApostropheCMS uploadfs Azure backend leaks account-level SAS token into every public attachment
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/npm/GHSA-hhph-8536-gfq5.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-hhph-8536-gfq5
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/apostrophecms/apostrophe
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/apostrophecms/apostrophe/releases/tag/[email protected]
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.