Mittel

ApostropheCMS: GET /api/v1/@apostrophecms/page/:id umgeht viewRole-Beschränkung und legt viewPermission-geschützte Felder offen

  • Veröffentlicht: 21.10.2026
  • Aktualisiert: 21.10.2026 20:25

Zusammenfassung

Der REST-Endpunkt getOne für Seiten wendet weder typbezogene viewRole-Beschränkungen noch Feld-Redizierungen via viewPermission an. Ein Benutzer mit Editor-Rechten, der eine Dokument-_id kennt, kann den vollständigen Inhalt von Seiten, die Administratoren vorbehalten sind, sowie deren privilegierte Felder auslesen. Der Endpunkt getAll setzt beide Beschränkungen hingegen korrekt durch.

Details

Befund 3 — viewRole-Umgehung: modules/@apostrophecms/page/index.js legt getRestQuery(req, omitPermissionCheck = false). The getAll path calls publicApiCheckAsync offen und durchläuft die gesamte Query-Builder-Pipeline einschließlich der viewRole-Filterung. Der getOne-Pfad nutzt einen abweichenden Codepfad, der diese Pipeline überspringt.

Ein Seitentyp, der mit viewRole: 'admin' deklariert ist, ist über GET /api/v1/@apostrophecms/page?type=secretPage unzugänglich (gibt 403 für einen Editor zurück), wird jedoch durch GET /api/v1/@apostrophecms/page/:id:en:published an denselben Editor vollständig ausgeliefert.

Befund 4 — viewPermission-Feldleck: Felder, die mit viewPermission: { action: 'edit', type: '@apostrophecms/page' } versehen sind, werden im getAll-Pfad von removeForbiddenFields entfernt, jedoch in getOne unverändert zurückgegeben. Ein Editor, der eine Dokument-_id kennt, kann alle durch viewPermission beschränkten Felder einsehen.

Proof of Concept

bash
# Log in as editor, get session jar
EDITOR_JAR="..."

# getAll — correctly blocked
curl -b "$EDITOR_JAR" \
  "http://TARGET/api/v1/@apostrophecms/page?type=secretPage"
# → 403 Forbidden

# getOne — bypassed, returns full document including viewPermission fields
curl -b "$EDITOR_JAR" \
  "http://TARGET/api/v1/@apostrophecms/page/ADMIN_PAGE_ID:en:published"
# → 200 OK, full doc including secretField value

Auswirkungen

Editoren können den gesamten Inhalt jeder Seite lesen – einschließlich solcher, die über viewRole auf Administratoren beschränkt sind –, sofern sie die _id kennen oder erraten können. Durch viewPermission geschützte sensible Feldwerte werden ebenfalls vollständig offengelegt. Dadurch wird das Modell für Inhaltszugriffskontrollen auf jeder Site untergraben, die diese Dekoratoren nutzt.

Was zu tun ist

Aktualisieren Sie das Paket apostrophe auf Version 4.34.0 oder höher.

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
npm-Paket apostrophe < 4.34.0 4.34.0

Verweise

CVSS-Wert 4.3/10
CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Schwäche (CWE)
CWE-862
Plattform
npm
Paket
apostrophe
Veröffentlicht
21.10.2026
Aktualisiert
21.10.2026 20:25

Quellen und Lizenzen · Von DockRay bearbeitet oder übersetzt; Rechte und Lizenzen der Quellen bleiben erhalten.

OSV / GitHub Advisory Database - GHSA-vh56-5m88-39rq - CC BY 4.0

Schwachstellenhistorie: apostrophe

Alle veröffentlichten Schwachstellen dieses Pakets (npm-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Alle (33) im Archiv
Einträge insgesamt
33
Erste → letzte
09.2020 10.2026
Ohne Fix
4
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 2
  • Hoch 9
  • Mittel 18
  • Niedrig 4

Veröffentlichungen pro Jahr

  1. 2020: 2
  2. 2021: 2
  3. 2022: 0
  4. 2023: 0
  5. 2024: 0
  6. 2025: 0
  7. 2026: 29
Schweregrad:
  1. ApostropheCMS: GET /api/v1/@apostrophecms/page/:id umgeht viewRole-Beschränkung und legt viewPermission-geschützte Felder offen dieser Eintrag
    Mittel · 4.3 CVE-2026-112957 < 4.34.0 4.34.0
  2. Hoch · 7.3 CVE-2026-45011 = 4.29.0 keine Korrektur
  3. Kritisch · 9.8 CVE-2021-25979 >= 2.63.0, < 3.4.0 3.4.0

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.