HTML templates containing Javascript template strings are subject to XSS in jte
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| casid | jte | before 3.1.16 | 3.1.16 | Patch available | CNA |
| — | gg.jte:jte (Maven) | before 3.1.16 | 3.1.16 | Patch available | GHSA-vh22-6c6h-rm8q |
| — | gg.jte:jte-runtime (Maven) | before 3.1.16 | 3.1.16 | Patch available | GHSA-vh22-6c6h-rm8q |
- jte Vendorcasid Affected before 3.1.16 Fixed in 3.1.16 Patch available CNA
- gg.jte:jte (Maven) Vendor— Affected before 3.1.16 Fixed in 3.1.16 Patch available GHSA-vh22-6c6h-rm8q
- gg.jte:jte-runtime (Maven) Vendor— Affected before 3.1.16 Fixed in 3.1.16 Patch available GHSA-vh22-6c6h-rm8q
Remediation
- Fix · CNA jte (casid) Fixed in 3.1.16
- Fix · GHSA-vh22-6c6h-rm8q gg.jte:jte (Maven) Fixed in 3.1.16 Advisory →
- Fix · GHSA-vh22-6c6h-rm8q gg.jte:jte-runtime (Maven) Fixed in 3.1.16 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2025-23026
- 2026-10-03 Alias added: GHSA-vh22-6c6h-rm8q
References
Other 5
- https://github.com/casid/jte/security/advisories/GHSA-vh22-6c6h-rm8q
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#description
- https://github.com/casid/jte/blob/main/jte-runtime/src/main/java/gg/jte/html/escape/Escape.java#L43-L83
- https://github.com/casid/jte/commit/a6fb00d53c7b8dbb86de933215dbe1b9191a57f1
- https://github.com/casid/jte
Sources
- CVE-2025-23026 · CVE Program
- CVE-2025-23026 · NVD
- FIRST EPSS
- GHSA-vh22-6c6h-rm8q · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences