<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 21 Oct 2026 12:21:39 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-113665</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-113665</link>
      <description>&lt;p&gt;ApostropheCMS is an open-source Node.js content management system. Prior to 4.33.0, the notification module exposes PATCH and DELETE REST endpoints that perform operations directly on the underlying MongoDB collection without verifying that the requester is authenticated or owns the target notification. As a result, an unauthenticated attacker who obtains a valid notification ID can modify or permanently delete another user&amp;#39;s notification. This issue is fixed in version 4.33.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;ApostropheCMS is an open-source Node.js content management system. Prior to 4.33.0, the notification module exposes PATCH and DELETE REST endpoints that perform operations directly on the underlying MongoDB collection without verifying that the requester is authenticated or owns the target notification. As a result, an unauthenticated attacker who obtains a valid notification ID can modify or permanently delete another user&amp;#39;s notification. This issue is fixed in version 4.33.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-113665</guid>
    </item>
    <item>
      <title>GHSA-vwwx-px9w-crrc — ApostropheCMS: Missing Authorization on Notification PATCH/DELETE Endpoints</title>
      <link>https://db.gcve.eu/vuln/ghsa-vwwx-px9w-crrc</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: apostrophe&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The notification module exposes `PATCH` and `DELETE` REST endpoints that perform operations directly on the underlying MongoDB collection without verifying that the requester is authenticated or owns the target notification.&lt;/p&gt;
&lt;p&gt;As a result, an unauthenticated attacker who obtains a valid notification ID can modify or permanently delete another user&amp;#39;s notification.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;**File**&lt;/p&gt;
&lt;p&gt;```text
packages/apostrophe/modules/@apostrophecms/notification/index.js
```&lt;/p&gt;
&lt;p&gt;```javascript
// restApiRoutes
async patch(req, _id) {
  const dismissed = self.apos.launder.boolean(req.body.dismissed);&lt;/p&gt;
&lt;p&gt;if (dismissed) {
    await self.emit(&amp;#39;beforeSave&amp;#39;, req, { _id, dismissed });&lt;/p&gt;
&lt;p&gt;await self.db.updateOne(
      { _id },
      {
        $set: { dismissed },
        $currentDate: { updatedAt: true }
      }
    );
  }
},&lt;/p&gt;
&lt;p&gt;async delete(req, _id) {
  await self.db.deleteMany({ _id });
}
```&lt;/p&gt;
&lt;p&gt;Unlike the `GET` notification route, these handlers do **not** verify:&lt;/p&gt;
&lt;p&gt;- Authentication (`req.user`)
- Ownership (`userId === req.user._id`)
- Authorization or permissions&lt;/p&gt;
&lt;p&gt;Instead, the supplied `_id` is used directly against the raw MongoDB collection.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Root Cause&lt;/p&gt;
&lt;p&gt;The notification REST endpoints perform database operations directly using `self.db` without enforcing authentication or authorization.&lt;/p&gt;
&lt;p&gt;While the framework provides permission primitives (`req.user`, ownership checks, and `apos.permission`), these endpoints never invoke them. As a result, any request reaching thes…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: apostrophe&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The notification module exposes `PATCH` and `DELETE` REST endpoints that perform operations directly on the underlying MongoDB collection without verifying that the requester is authenticated or owns the target notification.&lt;/p&gt;
&lt;p&gt;As a result, an unauthenticated attacker who obtains a valid notification ID can modify or permanently delete another user&amp;#39;s notification.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Affected Code&lt;/p&gt;
&lt;p&gt;**File**&lt;/p&gt;
&lt;p&gt;```text
packages/apostrophe/modules/@apostrophecms/notification/index.js
```&lt;/p&gt;
&lt;p&gt;```javascript
// restApiRoutes
async patch(req, _id) {
  const dismissed = self.apos.launder.boolean(req.body.dismissed);&lt;/p&gt;
&lt;p&gt;if (dismissed) {
    await self.emit(&amp;#39;beforeSave&amp;#39;, req, { _id, dismissed });&lt;/p&gt;
&lt;p&gt;await self.db.updateOne(
      { _id },
      {
        $set: { dismissed },
        $currentDate: { updatedAt: true }
      }
    );
  }
},&lt;/p&gt;
&lt;p&gt;async delete(req, _id) {
  await self.db.deleteMany({ _id });
}
```&lt;/p&gt;
&lt;p&gt;Unlike the `GET` notification route, these handlers do **not** verify:&lt;/p&gt;
&lt;p&gt;- Authentication (`req.user`)
- Ownership (`userId === req.user._id`)
- Authorization or permissions&lt;/p&gt;
&lt;p&gt;Instead, the supplied `_id` is used directly against the raw MongoDB collection.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Root Cause&lt;/p&gt;
&lt;p&gt;The notification REST endpoints perform database operations directly using `self.db` without enforcing authentication or authorization.&lt;/p&gt;
&lt;p&gt;While the framework provides permission primitives (`req.user`, ownership checks, and `apos.permission`), these endpoints never invoke them. As a result, any request reaching thes…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-vwwx-px9w-crrc</guid>
    </item>
  </channel>
</rss>
