Średnia

ApostropheCMS: token odpowiedzi CAPTCHA nie jest kodowany w formacie URL

  • Ujawniono: 20.10.2026
  • Aktualizacja: 20.10.2026 21:25

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
20.10.2026 21:25

Ź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/form

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

Wszystkich wpisów
2
Pierwsza → ostatnia
10.2026 10.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Średnia 2

Ujawnienia w latach

  1. 2026: 2
  1. ApostropheCMS: token odpowiedzi CAPTCHA nie jest kodowany w formacie URL ten wpis
    Średnia CVE-2026-113667 < 1.5.5 1.5.5

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.