CVE-2026-39400
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
Cronicle, wieloserwerowy harmonogram zadań, przed wersją 0.9.111 pozwala użytkownikom niebędącym administratorami na wstrzykiwanie dowolnego kodu JavaScript przez pola wyjściowe zadań. Serwer nie oczyszcza danych, a klient renderuje je przez innerHTML na stronie szczegółów zadania.
Ocena ryzyka
Atakujący może wykonać skrypt w przeglądarce innych użytkowników, co może prowadzić do kradzieży sesji lub nieautoryzowanych działań.
Rekomendacja
Zaktualizuj Cronicle do wersji 0.9.111 lub nowszej, która zawiera poprawkę.
Inne podatności w Cronicle
Zobacz wszystkie- CVE-2026-55562Krytyczne
Cronicle przed wersją 0.9.119 w dzienniku aktywności administratora (htdocs/js/pages/admin/Activity.js) łączy kontrolowaną przez atakującego wartość item.user.full_name z kodem HTML bez kodowania encji i wstawia wynik przez this.div.html. Wbudowany filtr wejściowy pixl-server-user można obejść znacznikiem zawierającym znak nowej linii, ponieważ wyrażenie regularne nie dopasowuje nowych linii. Uwierzytelniony nie-administrator może zmienić własną nazwę przez /api/user/update, a przy włączonym free_accounts anonimowy atakujący może umieścić nazwę podczas samodzielnej rejestracji. Zapisana nazwa wykonuje skrypt w sesji administratora po otwarciu dziennika aktywności, umożliwiając przejęcie konta administratora i dalsze wykonanie poleceń. Problem naprawiono w wersji 0.9.119.
- CVE-2026-58255Wysokie
W Cronicle przed wersją 0.9.121 użytkownik niebędący administratorem lub klucz API z uprawnieniami `create_events` i `run_events` może wstrzyknąć pola `uid` i `gid` najwyższego poziomu poprzez `/api/app/create_event` lub `/api/app/update_event`. W `lib/api.js` funkcja `requireValidEventData` używa `validateOptionalParams` jako częściowej listy dozwolonych, która po cichu przepuszcza nieznane klucze, przechowując wstrzyknięte pola dosłownie. W `lib/job.js` funkcja `launchJob` kopiuje całe zdarzenie do zadania, a wtyczka `uid` nadpisuje `uid` zdarzenia tylko wtedy, gdy wtyczka je definiuje. Domyślne wtyczki `shellplug` i `urlplug` nie definiują `uid`, więc tożsamość kontrolowana przez zdarzenie przetrwa do uruchomienia procesu potomnego.
- CVE-2026-39401Średnie
Cronicle przed wersją 0.9.111 zawiera podatność, w której procesy potomne mogą modyfikować konfigurację zdarzenia nadrzędnego poprzez klucz update_event w wyjściu JSON, bez żadnej kontroli autoryzacji. Umożliwia to użytkownikowi z niskimi uprawnieniami, który może tworzyć i uruchamiać zdarzenia, zmianę dowolnej właściwości zdarzenia, w tym adresów URL webhooków i e-maili powiadomień.
Oryginalny opis (angielski, źródło NVD)
Cronicle is a multi-server task scheduler and runner, with a web based front-end UI. Prior to 0.9.111, a non-admin user with create_events and run_events privileges can inject arbitrary JavaScript through job output fields (html.content, html.title, table.header, table.rows, table.caption). The server stores this data without sanitization, and the client renders it via innerHTML on the Job Details page. This vulnerability is fixed in 0.9.111.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

