Vulnerability · Published Jan 13, 2025 · Assigned by GitHub_M
CVE-2025-23026HTML templates containing Javascript template strings are subject to XSS in jte
Medium 6.1
In plain English
A medium-severity cross-site scripting in jte from casid. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 23% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
jte (Java Template Engine) is a secure and lightweight template engine for Java and Kotlin. In affected versions Jte HTML templates with `script` tags or script attributes that include a Javascript template string (backticks) are subject to XSS. The `javaScriptBlock` and `javaScriptAttribute` methods in the `Escape` class do not escape backticks, which are used for Javascript template strings. Dollar signs in template strings should also be escaped as well to prevent undesired interpolation. HTML templates rendered by Jte's `OwaspHtmlTemplateOutput` in versions less than or equal to `3.1.15` with `script` tags or script attributes that contain Javascript template strings (backticks) are vulnerable. Users are advised to upgrade to version 3.1.16 or later to resolve this issue. There are no known workarounds for this vulnerability.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Maven | gg.jte:jte | 3.1.16 | GHSA-vh22-6c6h-rm8q |
| Maven | gg.jte:jte-runtime | 3.1.16 | GHSA-vh22-6c6h-rm8q |
Affected products (as reported)
Weakness: CWE-79, CWE-150 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
References
- https://github.com/casid/jte/security/advisories/GHSA-vh22-6c6h-rm8q x_refsource_CONFIRM
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#description x_refsource_MISC
- https://github.com/casid/jte/blob/main/jte-runtime/src/main/java/gg/jte/html/escape/Escape.java#L43-L83 x_refsource_MISC