CVE-2026-55562
KrytyczneCVSS 9.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może przejąć konto administratora Cronicle i wykonać polecenia z uprawnieniami uprzywilejowanymi, co prowadzi do pełnego przejęcia systemu i zadań.
Rekomendacja
Zaktualizuj Cronicle do wersji 0.9.119 lub nowszej oraz rozważ wyłączenie funkcji free_accounts do czasu wdrożenia poprawki.
Inne podatności w Cronicle
Zobacz wszystkie- 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ń.
- CVE-2026-39400Średnie
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.
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.119, the administrator Activity Log in htdocs/js/pages/admin/Activity.js concatenates the attacker-controlled item.user.full_name value into HTML without applying encode_entities and inserts the result through this.div.html. The bundled pixl-server-user input filter can be bypassed by a tag containing a line break because its regular expression does not match newlines. An authenticated non-administrator can update the attacker's own name through /api/user/update using a valid session and current password; when free_accounts is enabled, an anonymous attacker can instead plant the name during self-registration. The stored name executes script in an administrator's session when the Activity Log is opened, enabling administrator takeover and subsequent command execution through privileged Cronicle features. This issue is fixed in version 0.9.119.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

