CVE-2026-39401
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
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ń.
Ocena ryzyka
Ryzyko polega na możliwości przejęcia kontroli nad zdarzeniami przez nieautoryzowanego użytkownika, co może prowadzić do wycieku danych, nieautoryzowanych akcji lub ataków phishingowych poprzez modyfikację webhooków i powiadomień.
Rekomendacja
Należy natychmiast zaktualizować Cronicle do wersji 0.9.111 lub nowszej, która zawiera poprawkę eliminującą tę podatność.
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-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.111, jb child processes can include an update_event key in their JSON output. The server applies this directly to the parent event's stored configuration without any authorization check. A low-privilege user who can create and run events can modify any event property, including webhook URLs and notification emails. This vulnerability is fixed in 0.9.111.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

