GitHub Advisoryadvisory · npm
GHSA-rw26-wwfc-9wvm ApostropheCMS: Missing Authentication in `cleanExport` Route
LOW
Official page ↗
- Aliases
- CVE-2026-113648
- Ecosystem
- npm
- Packages
- @apostrophecms/import-export
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-306, CWE-862
- Reviewed
- 2026-10-21
Affected packages
• npm @apostrophecms/import-export: < 3.7.1 → fixed in 3.7.1
Description
1. Summary
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.
---
2. Affected Files & Endpoints
• Endpoint: `POST /api/v1/@apostrophecms/import-export/clean-export`
• Route Definition: `packages/import-export/lib/apiRoutes.js` (lines 32–34)
• Method Implementation: `packages/import-export/lib/methods/import.js` (lines 1271–1324)
---
3. Root Cause Analysis
In `packages/import-export/lib/apiRoutes.js`, the `get.related` handler explicitly validates that the caller is logged in:
```javascript
get: {
async related(req) {
if (!req.user) {
throw self.apos.error('forbidden');
}
// ...
}
}
```
In contrast, `post.cleanExport` (as well as `post.overrideDuplicates`) lacks any verification of `req.user`:
```javascript
post: {
async overrideDuplicates(req) {
return self.overrideDuplicates(req);
},
async cleanExport(req) {
return self.cleanExport(req); // {
get: { ... },
post: {
async overrideDuplicates(req) {
+ if (!req.user) {
+ throw self.apos.error('forbidden');
+ }
return self.overrideDuplicates(req);
},
async cleanExport(req) {
+ if (!req.user) {
+ throw self.apos.error('forbidden');
+ }
return self.cleanExport(req);
}
}
```
Related
Alias · CVE (1)
- CVE-2026-113648 ApostropheCMS is an open-source Node.js content management system. vulnerability
References
- https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-rw26-wwfc-9wvm web
- https://nvd.nist.gov/vuln/detail/CVE-2026-113648 advisory
- https://github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498 web
- https://github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea web
- https://github.com/apostrophecms/apostrophe package
- https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/[email protected] web