ApostropheCMS: CAPTCHA-Antwort-Token nicht URL-kodiert
Zusammenfassung
Die CAPTCHA-Verifizierung in Formularen und beim Login fügt das vom Benutzer übermittelte Widget-Token ohne URL-Kodierung in die serverseitige Verifizierungs-URL bzw. den Anfragekörper ein. Dadurch kann ein speziell gestaltetes Token Abfrageparameter in die Verifizierungsanfrage an reCAPTCHA bzw. hCaptcha einschleusen.
Details
packages/form/lib/recaptcha.js:39—recaptchaUri = 'https://www.google.com/recaptcha/api/siteverify?secret=${recaptchaSecret}&response=${input.recaptcha}'packages/login-recaptcha/index.js:44— identisches Muster bei der Anmeldungpackages/login-hcaptcha/index.js:47—body: 'response=${token}&secret=${secret}'
Machbarkeitsnachweis (PoC)
input.recaptcha = 'attacker_token&secret=INJECTED_SECRET&something=1'
→ resulting verify URL:
https://www.google.com/recaptcha/api/siteverify?secret=<real>&response=attacker_token&secret=INJECTED_SECRET&something=1
# (replicated exactly from recaptcha.js:39)
Auswirkungen
Gering: Ein manipuliertes Token schmuggelt zusätzliche key=value-Paare (secret, zusätzliche response) in den ausgehenden Verifizierungsaufruf ein. Dies erzwingt Verifizierungsfehler (Denial of Service für das CAPTCHA-Gate sowie geschützte Login- und Formularabläufe) und ermöglicht automatisierte Umgehungstests; es kommt zu keiner Offenlegung von Geheimnissen.
Was zu tun ist
Erstellen Sie die Verifizierungsanfrage mit URL + searchParams (oder encodeURIComponent sowohl auf secret als auch auf response) und validieren Sie das Token vor der Verwendung anhand von ^[A-Za-z0-9._-]{1,2048}$.
Aktualisieren Sie auf die behobenen Versionen:
@apostrophecms/form: Version 1.5.5 oder höher@apostrophecms/login-hcaptcha: Version 1.3.0 oder höher@apostrophecms/login-recaptcha: Version 1.2.1 oder höher
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
Verweise
- https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-44qr-rrjg-2cqq
- https://github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce
- https://github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350
- https://github.com/apostrophecms/apostrophe
- https://github.com/apostrophecms/apostrophe/releases/tag/@apostrophecms/form@1.5.5
- 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-116- Plattform
- npm
- Paket
@apostrophecms/form, @apostrophecms/login-hcaptcha, @apostrophecms/login-recaptcha- Veröffentlicht
- 20.10.2026
- Aktualisiert
- 20.10.2026 21:25
Quellen und Lizenzen · Von DockRay bearbeitet oder übersetzt; Rechte und Lizenzen der Quellen bleiben erhalten.
OSV / GitHub Advisory Database - GHSA-44qr-rrjg-2cqq - CC BY 4.0
Schwachstellenhistorie: @apostrophecms/form
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.
- Einträge insgesamt
- 2
- Erste → letzte
- 10.2026 10.2026
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Mittel 2
Veröffentlichungen pro Jahr
- 2026: 2
-
ApostropheCMS: CAPTCHA-Antwort-Token nicht URL-kodiert dieser Eintrag
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.