Description
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.
Published: 2026-10-27
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Privilege Escalation to Root
Action: Apply Patch Immediately
AI Analysis

Impact

A non‑administrator user or API key granted create_events and run_events privileges can insert top‑level uid and gid fields when creating or updating an event. These injected values are stored verbatim, bypassing the normal run‑as‑user check in Cronicle. As a result the scheduled job runs with the supplied UID/GID, allowing the attacker to execute commands as any user, including root. The vulnerability permits full compromise of confidentiality, integrity and availability of the underlying system where the Cronicle daemon operates.

Affected Systems

The flaw affects Cronicle deployments before version 0.9.121. It applies to any installation of jhuckaby’s Cronicle, regardless of operating system, that runs the daemon with non‑root privileges and exposes the event creation API. The patch is included in release 0.9.121 and later.

Risk and Exploitability

The CVSS score of 8.8 classifies the flaw as high severity. EPSS data is unavailable, but the lack of a documented exploit and absence in the CISA KEV catalog suggest a moderate practical risk. An attacker can exploit the issue by sending crafted API requests to /api/app/create_event or /api/app/update_event with uid/gid payloads. The ability to elevate to root is only feasible when the Cronicle daemon runs with daemon privileges and the user holds the necessary API permissions; no additional network access is required beyond the API surface.

Generated by OpenCVE AI on October 28, 2026 at 00:12 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Cronicle to version 0.9.121 or later to remove the injection vulnerability.
  • Restrict create_events and run_events permissions to administrators only, or remove those privileges from low‑privileged users.
  • Deploy network segmentation to limit API access to trusted hosts and monitor for suspicious uid/gid fields in event payloads.

Generated by OpenCVE AI on October 28, 2026 at 00:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Jhuckaby
Jhuckaby cronicle
Vendors & Products Jhuckaby
Jhuckaby cronicle

Tue, 27 Oct 2026 22:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Cronicle: Non-admin uid/gid injection in create_event/update_event → run-as-arbitrary-user (incl. root) — sibling of CVE-2026-39401
Weaknesses CWE-269
CWE-862
CWE-915
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Jhuckaby Cronicle
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-27T22:30:09.563Z

Reserved: 2026-06-29T21:54:30.330Z

Link: CVE-2026-58255

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-27T23:17:05.990

Modified: 2026-10-27T23:17:05.990

Link: CVE-2026-58255

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T00:15:08Z

Weaknesses
  • CWE-269

    Improper Privilege Management

  • CWE-862

    Missing Authorization

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes