<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-21T19:24:38.660288+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-113648</id>
    <title>fkie_cve-2026-113648</title>
    <updated>2026-10-21T19:24:38.662208+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-113648"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-rw26-wwfc-9wvm</id>
    <title>GHSA-rw26-wwfc-9wvm — ApostropheCMS: Missing Authentication in `cleanExport` Route</title>
    <updated>2026-10-21T19:24:38.662285+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: @apostrophecms/import-export</p>
<p>#### 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.</p>
<p>---</p>
<p>#### 2. Affected Files &amp; 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)</p>
<p>---</p>
<p>#### 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);
  },</p>
<p>async cleanExport(req) {
    return self.cleanExport(req); // &lt;-- No authentication check
  }
}
```
Because ApostropheCMS does not enforce authentication globally on all `apiRoutes`, omitting an explicit `if (!req.user)` guard allows anonymous requests to pass directly through to the business logic layer.</p>
<p>---</p>
<p>#### 4. Evide…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-rw26-wwfc-9wvm"/>
  </entry>
</feed>
