{"id":"CVE-2026-113658","title":"ApostropheCMS: Unauthenticated CSV import requests leave rejected uploads in the system temporary directory","summary":"ApostropheCMS is an open-source Node.js content management system. Prior to 4.33.0, the unauthenticated Rich Text CSV conversion route writes a multipart upload to the system temporary directory before checking its extension and does not…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cvssSource":"cna","cwe":["CWE-400","CWE-459","CWE-770"],"vendor":"apostrophecms","product":"apostrophe","affected":["apostrophe < 4.33.0"],"ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"partial","timestamp":"2026-10-23T01:54:34.347813Z"},"exploitAvailable":true,"published":"2026-10-20","updated":"2026-10-23","sourceUpdated":"2026-10-23T01:55:01.966Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-113658","references":[{"url":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9","label":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9"},{"url":"https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce","label":"https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce"},{"url":"https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350","label":"https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350"},{"url":"https://github.com/apostrophecms/apostrophe/releases/tag/apostrophe@4.33.0","label":"https://github.com/apostrophecms/apostrophe/releases/tag/apostrophe@4.33.0"},{"url":"https://github.com/advisories/GHSA-qhcq-9pm2-c9w9"}],"tags":["cve.org","exploit-available","ghsa","npm"],"epss":0.00615,"epssPercentile":0.49241,"aliases":["GHSA-qhcq-9pm2-c9w9"],"ecosystem":"npm","patched":["apostrophe 4.33.0"],"ingestedAt":"2026-10-20T17:12:53.594Z","slug":"CVE-2026-113658","body":"## Overview\n\nApostropheCMS is an open-source Node.js content management system. Prior to 4.33.0, the unauthenticated Rich Text CSV conversion route writes a multipart upload to the system temporary directory before checking its extension and does not remove the staged file when that validation rejects it. Repeated large rejected uploads, using the normal public CSRF cookie, can persistently consume temporary-disk capacity and may disrupt ApostropheCMS and other services that depend on the same partition. This issue is fixed in version 4.33.0.\n\n## Affected\n\n- `apostrophe < 4.33.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-113658)\n\nAffected packages:\n\n- `apostrophe < 4.33.0`\n\nPatched in:\n\n- `apostrophe 4.33.0`\n\nSource: https://github.com/advisories/GHSA-qhcq-9pm2-c9w9","depth":"midnight","depthScore":53,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":227920,"id":"CVE-2026-113658","ts":1792721611295,"field":"exploit_available","old":"false","new":"true"}]}