Średnia

ApostropheCMS: token odpowiedzi CAPTCHA nie jest kodowany w formacie URL

  • Ujawniono: 20.10.2026
  • Aktualizacja: 21.10.2026 10:00

Podsumowanie

Weryfikacja CAPTCHA formularzy i logowania interpoluje podany przez użytkownika token widżetu w postaci niezakodowanej do adresu URL/treści weryfikacji po stronie serwera. Pozwala to spreparowanemu tokenowi na wstrzyknięcie parametrów zapytania do żądania weryfikacji reCAPTCHA/hCaptcha.

Szczegóły

  • 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 — ten sam schemat przy logowaniu
  • packages/login-hcaptcha/index.js:47 — body: 'response=${token}&secret=${secret}'

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)

Wpływ

Niski: spreparowany token przemyca dodatkowe pary key=value (secret, dodatkowe response) do wychodzącego wywołania weryfikacyjnego, wymuszając błędy weryfikacji (odmowa usługi dla bramki CAPTCHA oraz przepływów logowania i formularzy chronionych przez CAPTCHA) i umożliwiając zautomatyzowane testowanie obejścia; brak eksfiltracji poufnych danych.

Co trzeba zrobić

Buduj żądanie weryfikacji za pomocą URL + searchParams (lub encodeURIComponent na obu: secret i response), a przed użyciem zweryfikuj poprawność tokena względem ^[A-Za-z0-9._-]{1,2048}$.

Zaktualizuj podatne pakiety do wersji zawierających poprawkę:

  • @apostrophecms/form: wersja 1.5.5 lub nowsza
  • @apostrophecms/login-hcaptcha: wersja 1.3.0 lub nowsza
  • @apostrophecms/login-recaptcha: wersja 1.2.1 lub nowsza

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm @apostrophecms/form < 1.5.5 1.5.5
Paczka npm @apostrophecms/login-hcaptcha < 1.3.0 1.3.0
Paczka npm @apostrophecms/login-recaptcha < 1.2.1 1.2.1

Odnośniki

Ocena CVSS -
Wektor CVSS
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
Słabość (CWE)
CWE-116
Platforma
npm
Paczka
@apostrophecms/form, @apostrophecms/login-hcaptcha, @apostrophecms/login-recaptcha
Ujawniono
20.10.2026
Aktualizacja
21.10.2026 10:00

Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.

OSV / GitHub Advisory Database - GHSA-44qr-rrjg-2cqq - CC BY 4.0

Historia podatności: @apostrophecms/login-hcaptcha

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

To jedyna znana podatność tej paczki.

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.