{"schemaVersion":3,"id":"CVE-2026-113648","aliases":["GHSA-rw26-wwfc-9wvm"],"status":"published","duplicateOf":null,"title":null,"description":"ApostropheCMS is an open-source Node.js content management system. Prior to 3.7.1 of the import-export module, the API endpoint POST /api/v1/@apostrophecms/import-export/clean-export in @apostrophecms/import-export lacks authentication and authorization checks. Any client—including unauthenticated anonymous users who have obtained the standard CSRF cookie from visiting the site—can directly invoke this route and trigger the underlying self.cleanExport(req) method. This issue is fixed in version 3.7.1.","dates":{"published":"2026-10-20T16:07:49.138Z","modified":"2026-10-20T16:18:53.068Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":3.1,"severity":"low","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":3.1,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":3.1,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":3.1,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","exploitability":4.1,"impact":2.3,"computed":true}]},"epss":{"probability":0.00328,"percentile":0.24579,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-21T00:00:00.000Z","score":0.00328,"percentile":0.24579}],"last30":[{"date":"2026-10-21T00:00:00.000Z","score":0.00328,"percentile":0.24579}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-306","name":"Missing Authentication for Critical Function","description":"The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/306.html"},{"id":"CWE-862","name":"Missing Authorization","description":"The product does not perform an authorization check when an actor attempts to access a resource or perform an action.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/862.html"}],"affected":[{"vendor":"apostrophecms","product":"apostrophe","name":"apostrophe","label":"apostrophe","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 4.34.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.34.0","eol":null,"hubHref":"/vendor/apostrophecms/apostrophe"},{"vendor":"@apostrophecms","product":"import-export","name":"import-export","label":"import-export","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.7.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.7.1","eol":null,"hubHref":"/vendor/apostrophecms/import-export"},{"vendor":"@apostrophecms","product":"import-export","name":"@apostrophecms/import-export","label":"import-export","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/@apostrophecms/import-export","purlType":"npm","versions":[{"text":"< 3.7.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.7.1","eol":null,"hubHref":null}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-rw26-wwfc-9wvm","label":"github.com/apostrophecms/apostrophe/security/advisories/GHSA-rw26-wwfc-9wvm","hostname":"github.com","tags":["X Refsource CONFIRM","WEB"]},{"url":"https://github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498","label":"github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea","label":"github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/import-export@3.7.1","label":"github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/import-export@3.7.1","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113648","label":"nvd.nist.gov/vuln/detail/CVE-2026-113648","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/apostrophecms/apostrophe","label":"github.com/apostrophecms/apostrophe","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-20T16:07:49.138Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-20T16:18:53.068Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":12,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T22:04:40.754Z","stale":false,"partial":false}}