Cronicle lets non-admin users set run-as uid and gid in events
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation, Security bypass, Tampering
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269, CWE-862 and CWE-915.
Summary
Cronicle before 0.9.121 lets a non-administrator user or scoped API key with create_events and run_events privileges inject top-level uid and gid fields into events through the event create and update API endpoints. The injected identity survives into job launch because the default shellplug and urlplug plugins define no uid, so jobs run as the injected user (CWE-915). On a root-daemon installation, a low-privileged user can run jobs as any user, including root, bypassing the administrator-only run-as-user control.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Cronicle is a multi-server task scheduler and runner, with a web based front-end UI. Prior to 0.9.121, a non-administrator user or scoped API key with `create_events` and `run_events` privileges can inject top-level `uid` and `gid` fields through `/api/app/create_event` or `/api/app/update_event`. In `lib/api.js`, `requireValidEventData` uses `validateOptionalParams` as a partial allow-list that silently passes unknown keys, storing the injected fields verbatim. In `lib/job.js`, `launchJob` copies the whole event into the job, and a plugin `uid` overrides the event `uid` only when the plugin defines one. The default `shellplug` and `urlplug` plugins do not define a `uid`, so the event-controlled identity survives into child-process launch. On a root-daemon installation, this lets a low-privileged user run jobs as arbitrary users, including root, bypassing the otherwise administrator-only run-as-user control. This API-side event injection is distinct from the job-output `uid`/`gid` injection addressed by CVE-2026-39401. This issue is fixed in version 0.9.121.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade Cronicle to version 0.9.121, which fixes this issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA Cronicle (jhuckaby) Fixed in 0.9.121
Timeline
- 2026-10-27 Threatist record created from CVE-2026-58255
- 2026-10-28 CISA SSVC decision points changed
- 2026-10-28 Priority changed: MEDIUM → LOW
- 2026-10-28 Priority changed: LOW → MEDIUM
References
More jhuckaby vulnerabilities
- TI-2026-71909 Stored cross-site scripting in Cronicle admin Activity Log CVSS 3.1CRITICAL 9.0
- TI-2026-85660 Environment variable injection in Cronicle event params CVSS 4.0CRITICAL 9.0
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences