{"id":"CVE-2026-113658","state":"PUBLISHED","title":"ApostropheCMS: Unauthenticated CSV import requests leave rejected uploads in the system temporary directory","description":"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 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.","publishedAt":"2026-10-20T16:56:01.862Z","updatedAt":"2026-10-23T01:55:01.966Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["apostrophecms apostrophe"],"affected":[{"vendor":"apostrophecms","product":"apostrophe","versions":[{"version":"< 4.33.0","status":"affected"}]}],"references":["https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9","https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce","https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350","https://github.com/apostrophecms/apostrophe/releases/tag/apostrophe@4.33.0"],"weaknesses":["CWE-400","CWE-459","CWE-770"],"ingestedAt":"2026-10-29T20:10:43.281Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/113xxx/CVE-2026-113658.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-113658","state":"PUBLISHED","datePublished":"2026-10-20T16:56:01.862Z","dateUpdated":"2026-10-23T01:55:01.966Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-20T14:27:46.641Z"},"containers":{"cna":{"title":"ApostropheCMS: Unauthenticated CSV import requests leave rejected uploads in the system temporary directory","descriptions":[{"lang":"en","value":"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 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."}],"affected":[{"vendor":"apostrophecms","product":"apostrophe","versions":[{"version":"< 4.33.0","status":"affected"}]}],"references":[{"url":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9","name":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce","name":"https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce","tags":["x_refsource_MISC"]},{"url":"https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350","name":"https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350","tags":["x_refsource_MISC"]},{"url":"https://github.com/apostrophecms/apostrophe/releases/tag/apostrophe@4.33.0","name":"https://github.com/apostrophecms/apostrophe/releases/tag/apostrophe@4.33.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","lang":"en","description":"CWE-400: Uncontrolled Resource Consumption","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-459","lang":"en","description":"CWE-459: Incomplete Cleanup","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-770","lang":"en","description":"CWE-770: Allocation of Resources Without Limits or Throttling","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-20T16:59:01.643Z"},"source":{"advisory":"GHSA-qhcq-9pm2-c9w9","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-qhcq-9pm2-c9w9","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-23T01:54:34.347813Z","id":"CVE-2026-113658","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-23T01:55:01.966Z"}}]}}}