{"id":"CVE-2026-106706","aliases":["EUVD-2026-102258","GHSA-vh8g-cp9j-gj4r"],"status":"published","title":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE...","description":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE code editor. JobCodeController.save() stores the user-supplied glueSource parameter without output encoding, and the FreeMarker template job.code.ftl renders the stored value unescaped.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AC:L/AV:N/A:N/C:L/I:L/PR:L/S:C/UI:R","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00168,"percentile":0.06212,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-10-15T00:00:00Z","modified":"2026-10-28T02:30:34Z","references":[{"url":"https://github.com/xuxueli/xxl-job","tags":["package"]},{"url":"https://github.com/tao0845/CVE-Request/blob/main/CVE-2026-106706.md","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-106706","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-vh8g-cp9j-gj4r"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/106xxx/CVE-2026-106706.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-106706","description":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE code editor. JobCodeController.save() stores the user-supplied glueSource parameter without output encoding, and the FreeMarker template job.code.ftl renders the stored value unescaped.","status":"published","published":"2026-10-15T00:00:00Z","modified":"2026-10-19T18:42:48.393Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AC:L/AV:N/A:N/C:L/I:L/PR:L/S:C/UI:R","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:20:04.156238Z"}],"euvd":[{"id":"EUVD-2026-102258","description":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE code editor. JobCodeController.save() stores the user-supplied glueSource parameter without output encoding, and the FreeMarker template job.code.ftl renders the stored value unescaped.","status":"published","published":"2026-10-15T00:00:00Z","modified":"2026-10-19T18:42:48Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AC:L/AV:N/A:N/C:L/I:L/PR:L/S:C/UI:R","level":"medium"}],"updated_at":"2026-11-02T16:59:49.097498Z"}],"ghsa":[{"id":"GHSA-vh8g-cp9j-gj4r","title":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE...","description":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE code editor. JobCodeController.save() stores the user-supplied glueSource parameter without output encoding, and the FreeMarker template job.code.ftl renders the stored value unescaped.","status":"published","published":"2026-10-15T18:32:44Z","modified":"2026-10-19T21:37:00Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:14:01.813939Z"}],"nvd":[{"id":"CVE-2026-106706","description":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE code editor. JobCodeController.save() stores the user-supplied glueSource parameter without output encoding, and the FreeMarker template job.code.ftl renders the stored value unescaped.","status":"published","published":"2026-10-15T18:17:23.567Z","modified":"2026-10-19T19:17:19Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:59.751798Z"}],"osv":[{"id":"CVE-2026-106706","description":"XXL-JOB through 3.5.0-SNAPSHOT is vulnerable to stored cross-site scripting (XSS) in the GLUE code editor. JobCodeController.save() stores the user-supplied glueSource parameter without output encoding, and the FreeMarker template job.code.ftl renders the stored value unescaped.","status":"published","published":"2026-10-15T00:00:00Z","modified":"2026-10-28T02:30:34.563161076Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AC:L/AV:N/A:N/C:L/I:L/PR:L/S:C/UI:R","level":"medium"}],"updated_at":"2026-11-02T15:44:54.933106Z"}]}}
