CVE-2025-59340
Published: 17 September 2025
Summary
CVE-2025-59340 is a critical-severity Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336) vulnerability in Hubspot Jinjava. Its CVSS base score is 9.8 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 20.1% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and SI-2 (Flaw Remediation).
Deeper analysis
jinjava is a Java-based template engine that renders Jinja-style templates and is affected by CVE-2025-59340 prior to version 2.8.1. The flaw stems from unsafe use of mapper.getTypeFactory().constructFromCanonical() on attacker-controlled input, which allows the underlying ObjectMapper to deserialize data into arbitrary classes without invoking restricted methods or literals. This breaks the intended sandbox and permits instantiation of classes such as java.net.URL, enabling direct access to local files and URLs.
An unauthenticated remote attacker who can supply template input can leverage the primitive to read arbitrary files and, through further chaining, achieve remote code execution. The vulnerability carries a CVSS 3.1 score of 9.8 reflecting network attack vector, low complexity, and full impact on confidentiality, integrity, and availability.
The project addressed the issue in release 2.8.1; the corresponding commit and GitHub Security Advisory GHSA-m49c-g9wr-hv6v document the fix. The associated EPSS score has remained flat at 0.0127 with no observed rise after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-29780
Vulnerability details
jinjava is a Java-based template engine based on django template syntax, adapted to render jinja templates. Priori to 2.8.1, by using mapper.getTypeFactory().constructFromCanonical(), it is possible to instruct the underlying ObjectMapper to deserialize attacker-controlled input into arbitrary classes. This enables the…
more
creation of semi-arbitrary class instances without directly invoking restricted methods or class literals. As a result, an attacker can escape the sandbox and instantiate classes such as java.net.URL, opening up the ability to access local files and URLs(e.g., file:///etc/passwd). With further chaining, this primitive can potentially lead to remote code execution (RCE). This vulnerability is fixed in 2.8.1.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Remote unauthenticated deserialization in public-facing jinjava template engine directly enables exploitation of exposed applications for sandbox escape and RCE.
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Directly mitigates the vulnerability by requiring timely remediation through upgrading jinjava to version 2.8.1 or later where the deserialization flaw is fixed.
Requires validation of attacker-controlled template inputs to external sources, preventing malicious deserialization payloads from being processed by the ObjectMapper.
Enforces secure configuration settings for the ObjectMapper, such as disabling unsafe features like constructFromCanonical to limit arbitrary class instantiation.