CVE-2026-85076
KrytyczneCVSS 9.0Streszczenie
W Cronicle przed wersją 0.9.124 uwierzytelniony użytkownik niebędący administratorem z uprawnieniami run_events, create_events lub edit_events może podać nieoczekiwane klucze w parametrach zdarzenia przez api_create_event, api_update_event lub api_run_event. Klucz kolidujący z wrażliwą zmienną środowiskową może nadpisać kontekst wykonania wtyczki i spowodować eskalację uprawnień, wykonanie kodu, dostęp do danych lub zakłócenie usługi.
Ocena ryzyka
Atakujący z niskimi uprawnieniami może wykonać dowolny kod lub uzyskać dostęp do danych w kontekście procesów potomnych, co prowadzi do eskalacji uprawnień i kompromitacji systemu.
Rekomendacja
Zaktualizuj Cronicle do wersji 0.9.124 lub nowszej, która ogranicza dozwolone klucze parametrów zdarzeń.
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ń.
- 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.124, an authenticated non-admin with run_events, create_events, or edit_events privilege can supply undeclared keys in event params through api_create_event, api_update_event, or api_run_event. lib/api.js and lib/api/event.js validate the parameter object without restricting its keys, and lib/job.js uppercases those keys and applies them to the child process environment after administrator-defined plugin variables. A key that collides with a security-sensitive environment variable can therefore override the plugin execution context and may cause privilege escalation, arbitrary code execution, data access, or service disruption depending on the plugin and runtime. This issue is fixed in version 0.9.124.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

