{"id":"CVE-2026-39400","state":"PUBLISHED","title":"Stored XSS via Job HTML/Table Output in Cronicle","description":"Cronicle is a multi-server task scheduler and runner, with a web based front-end UI. Prior to 0.9.111, a non-admin user with create_events and run_events privileges can inject arbitrary JavaScript through job output fields (html.content, html.title, table.header, table.rows, table.caption). The server stores this data without sanitization, and the client renders it via innerHTML on the Job Details page. This vulnerability is fixed in 0.9.111.","publishedAt":"2026-04-07T20:22:54.581Z","updatedAt":"2026-04-15T14:24:26.306Z","severity":{"score":5.3,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["jhuckaby Cronicle"],"affected":[{"vendor":"jhuckaby","product":"Cronicle","versions":[{"version":"< 0.9.111","status":"affected"}]}],"references":["https://github.com/jhuckaby/Cronicle/security/advisories/GHSA-36q6-pwxv-j545"],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:11:50.837Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/39xxx/CVE-2026-39400.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-39400","state":"PUBLISHED","datePublished":"2026-04-07T20:22:54.581Z","dateUpdated":"2026-04-15T14:24:26.306Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-04-06T22:06:40.516Z"},"containers":{"cna":{"title":"Stored XSS via Job HTML/Table Output in Cronicle","descriptions":[{"lang":"en","value":"Cronicle is a multi-server task scheduler and runner, with a web based front-end UI. Prior to 0.9.111, a non-admin user with create_events and run_events privileges can inject arbitrary JavaScript through job output fields (html.content, html.title, table.header, table.rows, table.caption). The server stores this data without sanitization, and the client renders it via innerHTML on the Job Details page. This vulnerability is fixed in 0.9.111."}],"affected":[{"vendor":"jhuckaby","product":"Cronicle","versions":[{"version":"< 0.9.111","status":"affected"}]}],"references":[{"url":"https://github.com/jhuckaby/Cronicle/security/advisories/GHSA-36q6-pwxv-j545","name":"https://github.com/jhuckaby/Cronicle/security/advisories/GHSA-36q6-pwxv-j545","tags":["x_refsource_CONFIRM"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","subAvailabilityImpact":"NONE","baseScore":5.3,"baseSeverity":"MEDIUM","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-04-07T20:22:54.581Z"},"source":{"advisory":"GHSA-36q6-pwxv-j545","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-04-14T15:05:29.500038Z","id":"CVE-2026-39400","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-15T14:24:26.306Z"}}]}}}