CVE-2026-55562: Cronicle: Stored XSS in admin Activity Log via account full_name field
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.fullname value into HTML without applying encodeentities 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 freeaccounts 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Cronicleto a version that resolves this vulnerability.Fixed in 0.9.119
Event History
Frequently Asked Questions
Who can plant the malicious value?
Any authenticated non-administrator with a valid session and their current password can update their own full name through /api/user/update. If free_accounts is enabled, an anonymous attacker can plant it during self-registration.
What user action triggers exploitation?
An administrator must open the administrator Activity Log. The stored full name is then inserted into the page as HTML and executes in the administrator's session.
What is the impact after successful exploitation?
The attacker can take over the administrator's Cronicle session. The advisory states this can lead to command execution through privileged Cronicle features.
Which versions need remediation?
Cronicle versions prior to 0.9.119 are affected. Upgrade to version 0.9.119, which contains the fix.