PatchSiren cyber security CVE debrief
CVE-2026-113658 apostrophecms CVE debrief
CVE-2026-113658 debrief: ApostropheCMS unauthenticated CSV import requests leave rejected uploads in the system temporary directory. This occurs because Multer writes the file before its extension is checked, and the rejection path does not remove the temporary file. Defenders should assess exposure and prioritize remediation for ApostropheCMS instances with publicly accessible rich-text-widget endpoints. The CVE record and source item detail an unauthenticated CSV import vulnerability in ApostropheCMS, where rejected uploads can remain in the system temporary directory, allowing for potential disk space consumption. The endpoint is: POST /api/v1/@apostrophecms/rich-text-widget/gap
- Vendor
- apostrophecms
- Product
- apostrophe
- CVSS
- HIGH 7.5
- 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 instances with publicly accessible rich-text-widget endpoints should assess exposure and prioritize remediation. Defenders should verify if the instance has been updated to version 4.33.0 or later. Defenders should implement compensating controls to monitor and limit temporary directory usage.
Why it matters
Unauthenticated CSV import requests in ApostropheCMS can leave rejected uploads in the system temporary directory, potentially allowing for disk space consumption. Defenders should assess exposure and prioritize remediation for instances with publicly accessible rich-text-widget endpoints.
- Potential for disk space consumption through repeated large file uploads
- Need for verification of instance exposure and version assessment
- Requirement for compensating controls to monitor temporary directory usage
Technical summary
The ApostropheCMS rich-text-widget endpoint allows unauthenticated CSV import requests, which can leave rejected uploads in the system temporary directory. This occurs because Multer writes the file before its extension is checked, and the rejection path does not remove the temporary file. The endpoint is: POST /api/v1/@apostrophecms/rich-text-widget/generate-csv-table. In `packages/apostrophe/modules/@apostrophecms/rich-text-widget/lib/apiRoutes.js`, Multer first writes the upload to `os.tmpdir()`. A normal CSRF cookie is sufficient.
Defensive priority
Defenders should assess exposure and prioritize remediation for ApostropheCMS instances with publicly accessible rich-text-widget endpoints.
Recommended defensive actions
- Assess exposure of ApostropheCMS instances with publicly accessible rich-text-widget endpoints
- Verify if the instance has been updated to version 4.33.0 or later
- Implement compensating controls to monitor and limit temporary directory usage
- Consider restricting access to the rich-text-widget endpoint
- 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
Evidence notes
The CVE record and source item detail an unauthenticated CSV import vulnerability in ApostropheCMS, where rejected uploads can remain in the system temporary directory, allowing for potential disk space consumption. During testing, the request returned HTTP 400 with 'Only csv files are supported', while the complete uploaded content remained in a randomly named file in the configured temporary directory after the response. A normal CSRF cookie is sufficient. The rejection path does not remove that temporary file. Multer writes the to
Sources and references
Verified primary and authoritative sources
-
CVE-2026-113658 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-113658
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-113658 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-113658
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
ApostropheCMS: Unauthenticated CSV import requests leave rejected uploads in the system temporar
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/npm/GHSA-qhcq-9pm2-c9w9.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9
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.