<?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>Thu, 29 Oct 2026 20:54:36 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-112952</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-112952</link>
      <description>&lt;p&gt;ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, &amp;#39;POST /api/v1/@apostrophecms/doc/slugTaken&amp;#39; with body { &amp;#34;slug&amp;#34;: &amp;#34;target-slug&amp;#34; } returns a boolean indicating whether a slug is in use across all document types and visibility levels, with no permission or type filter. Any logged-in user (including editors) can enumerate the slug space of private pages, drafts, and archived content. This issue is fixed in version 4.34.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, &amp;#39;POST /api/v1/@apostrophecms/doc/slugTaken&amp;#39; with body { &amp;#34;slug&amp;#34;: &amp;#34;target-slug&amp;#34; } returns a boolean indicating whether a slug is in use across all document types and visibility levels, with no permission or type filter. Any logged-in user (including editors) can enumerate the slug space of private pages, drafts, and archived content. This issue is fixed in version 4.34.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-112952</guid>
    </item>
    <item>
      <title>GHSA-f66c-mpj2-3r8h — ApostropheCMS: POST /api/v1/@apostrophecms/doc/slugTaken discloses existence of private/admin-only content to any authe…</title>
      <link>https://db.gcve.eu/vuln/ghsa-f66c-mpj2-3r8h</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: apostrophe&lt;/p&gt;
&lt;p&gt;### Summary
The `slugTaken` endpoint returns a boolean indicating whether a slug is in use across
all document types and visibility levels, with no permission or type filter. Any logged-in
user (including editors) can enumerate the slug space of private pages, drafts, and
archived content.&lt;/p&gt;
&lt;p&gt;### Details
`POST /api/v1/@apostrophecms/doc/slugTaken` with body `{ &amp;#34;slug&amp;#34;: &amp;#34;target-slug&amp;#34; }` runs
a raw existence check against the documents collection. It does not:
- Check whether the requesting user has read permission for documents of that type.
- Filter by `visibility` (public, loginRequired, private).
- Filter by `viewRole`.
- Filter by publication status (draft vs published).&lt;/p&gt;
&lt;p&gt;A single authenticated session can iterate the slug space to enumerate the full content
inventory of the CMS, including content the user is explicitly prohibited from viewing.&lt;/p&gt;
&lt;p&gt;### PoC
```bash
# Any authenticated session works — editor role sufficient
curl -b &amp;#34;$EDITOR_JAR&amp;#34; -X POST \
  -H &amp;#34;Content-Type: application/json&amp;#34; \
  -d &amp;#39;{&amp;#34;slug&amp;#34;:&amp;#34;known-private-page-slug&amp;#34;}&amp;#39; \
  &amp;#34;http://TARGET/api/v1/@apostrophecms/doc/slugTaken&amp;#34;
# → { &amp;#34;taken&amp;#34;: true }  — confirms private page exists&lt;/p&gt;
&lt;p&gt;curl -b &amp;#34;$EDITOR_JAR&amp;#34; -X POST \
  -H &amp;#34;Content-Type: application/json&amp;#34; \
  -d &amp;#39;{&amp;#34;slug&amp;#34;:&amp;#34;zzz-nonexistent&amp;#34;}&amp;#39; \
  &amp;#34;http://TARGET/api/v1/@apostrophecms/doc/slugTaken&amp;#34;
# → { &amp;#34;taken&amp;#34;: false }
```&lt;/p&gt;
&lt;p&gt;### Impact
Information disclosure. An attacker with any authenticated session can enumerate all
slugs in the system, mapping the full content structure…&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
The `slugTaken` endpoint returns a boolean indicating whether a slug is in use across
all document types and visibility levels, with no permission or type filter. Any logged-in
user (including editors) can enumerate the slug space of private pages, drafts, and
archived content.&lt;/p&gt;
&lt;p&gt;### Details
`POST /api/v1/@apostrophecms/doc/slugTaken` with body `{ &amp;#34;slug&amp;#34;: &amp;#34;target-slug&amp;#34; }` runs
a raw existence check against the documents collection. It does not:
- Check whether the requesting user has read permission for documents of that type.
- Filter by `visibility` (public, loginRequired, private).
- Filter by `viewRole`.
- Filter by publication status (draft vs published).&lt;/p&gt;
&lt;p&gt;A single authenticated session can iterate the slug space to enumerate the full content
inventory of the CMS, including content the user is explicitly prohibited from viewing.&lt;/p&gt;
&lt;p&gt;### PoC
```bash
# Any authenticated session works — editor role sufficient
curl -b &amp;#34;$EDITOR_JAR&amp;#34; -X POST \
  -H &amp;#34;Content-Type: application/json&amp;#34; \
  -d &amp;#39;{&amp;#34;slug&amp;#34;:&amp;#34;known-private-page-slug&amp;#34;}&amp;#39; \
  &amp;#34;http://TARGET/api/v1/@apostrophecms/doc/slugTaken&amp;#34;
# → { &amp;#34;taken&amp;#34;: true }  — confirms private page exists&lt;/p&gt;
&lt;p&gt;curl -b &amp;#34;$EDITOR_JAR&amp;#34; -X POST \
  -H &amp;#34;Content-Type: application/json&amp;#34; \
  -d &amp;#39;{&amp;#34;slug&amp;#34;:&amp;#34;zzz-nonexistent&amp;#34;}&amp;#39; \
  &amp;#34;http://TARGET/api/v1/@apostrophecms/doc/slugTaken&amp;#34;
# → { &amp;#34;taken&amp;#34;: false }
```&lt;/p&gt;
&lt;p&gt;### Impact
Information disclosure. An attacker with any authenticated session can enumerate all
slugs in the system, mapping the full content structure…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-f66c-mpj2-3r8h</guid>
    </item>
  </channel>
</rss>
