Shrnutí
Byla identifikována bezpečnostní zranitelnost typu reflected Cross-Site Scripting (XSS), kterou lze zneužít k ohrožení bezpečnosti uživatelských dat.
Zranitelnost je způsobena možností vložit kód přes vstupní pole. Takový kód se poté spustí v prohlížeči jiných uživatelů, což může vést k úniku citlivých informací (například cookies) nebo k dalším bezpečnostním problémům.
Zjednodušeně řečeno: web vezme cokoli, co návštěvník napíše do vyhledávacího pole, a vrátí mu to zpět jako součást stránky. Pokud je tím textem ve skutečnosti malý program, prohlížeč ho spustí — protože mu důvěřuje, když se tváří, že pochází přímo z webu hvězdárny.
Zranitelnost byla pozorována na následujících webech:
- https://hvezdarnacb.cz
- https://www.planetky.cz
- https://klet.cz
- https://klet.org
- https://www.komety.cz
Ukázka zneužití
Vyhledávací formulář na všech uvedených webech obsahuje reflected XSS zranitelnost. Zadáním následujícího do vyhledávacího pole:
"><script>alert('reflected')</script><img src=x style=display:none onerror=null alt="
se spustí reflected XSS.

Toto je pouze ukázka (proof of concept): oběť ví, co se děje, a výsledek je jasně vidět na obrazovce. V praxi by útočník takto nepostupoval — skutečný útok by vypadal úplně jinak, jak je popsáno níže.
Scénáře zneužití
Při skutečném útoku by zneužití bylo tiché a neviditelné a oběť by si ho vůbec nevšimla. Mohlo by vypadat takto:
- Oběť otevře odkaz — například z QR kódu na letáku, z facebookové události nebo z e-mailu. Samotný odkaz může vypadat naprosto běžně; zkrácené URL jsou zcela obvyklé a nevzbudí podezření. Útočník spoléhá na sociální inženýrství, například tím, že oběť pozve podívat se na nějaký astronomický objekt nebo se tváří, že se ptá na komentovanou prohlídku.
- Stránka poté oběť podle očekávání nenápadně přesměruje na legitimní web https://hvezdarnacb.cz. Web hvězdárny vypadá normálně a funguje, jak má.
- Zároveň s načtením legitimního webu je ale prohlížeč oběti neviditelně otráven — bez jakéhokoli viditelného znaku.
- V závislosti na své složitosti může vložený kód plnit útočníkovy záměry. Prostřednictvím JavaScriptu by útočník mohl fakticky převzít kontrolu nad prohlížečem oběti na dálku, bez jejího vědomí. To může zahrnovat získání přístupu do administrace, pokus o přístup k webkameře, zobrazení podvržených přihlašovacích oken pro služby jako Facebook nebo tiché zaznamenávání aktivity uživatele na stránce.
Horní obrazovka je oběť, spodní útočník.

Náprava
Ochranná opatření
Dobrou zprávou je, že existují osvědčené ochranné mechanismy, které tomuto chování zabrání nebo ho alespoň zmírní, a v praxi se běžně používají.
- Filtrujte a enkódujte uživatelský vstup ve formulářích, aby byl odeslaný text vždy zpracován jako data, nikdy jako kód.
- Nasaďte Content Security Policy (CSP), která zabrání načtení libovolných skriptů do prohlížeče oběti (libovolné skripty představují nejvyšší riziko).
- Nastavte bezpečnostní atributy cookies —
HttpOnly,Secure,SameSite— které útočníkovi znemožní snadno číst cookies nebo s nimi manipulovat a vydávat se za administrátora.
security.txt
Dobrou praxí je zveřejnit soubor security.txt v souladu s RFC 9116. Soubor patří na kanonickou cestu /.well-known/security.txt. Je to malý, jednoduchý textový soubor, který etickým výzkumníkům sděluje, jak bezpečně nahlásit případné nálezy. Několik příkladů pro inspiraci:
Časová osa zveřejnění
17. listopadu 2024 - zranitelnost nahlášena24. srpna 2025 - opětovně zaslána follow-up zpráva9. června 2026 - opětovně zaslána follow-up zpráva30. září 2026 - telefonický hovor s IT oddělením; zranitelnost byla vysvětlena. Oddělení sdělilo, že nález v tuto chvíli nemá v úmyslu opravit. Dal jsem jim vědět, že bude zveřejněn zde na tomto webu.