CVE-2026-84939 Apache FreeMarker
| Affected software | Apache FreeMarker |
|---|---|
| Severity | 9.1 Critical CVSS 3.1 |
| Fixed in | 2.3.35 |
| Weakness | Relative path traversal (CWE-23) |
| Published | 10 Sep 2026 |
| Updated | 21 Oct 2026 |
Published 2 months ago. NVD often adds the list of affected products days or weeks after a CVE is published, and the other sources we check lag too. The scope and status here may change.
Description
Path traversal vulnerability in Apache FreeMarker template loading mechanism, if the attacker can specify an arbitrary malformed locale identifier to FreeMarker, and the localized lookup configuration setting is enabled (it's by default enabled). This issue affects Apache FreeMarker from 2.2.0 through 2.3.34. Users are recommended to upgrade to version 2.3.35. Disabling localized lookup in previous versions also mitigates this. Note that even in versions affected by this vulnerability, the files that can be loaded remain restricted by the TemplateLoader that FreeMarker is configured to use. In particular, FileTemplateLoader prevents attempts to traverse outside the baseDir specified in its constructor. Other TemplateLoader implementations may allow access outside their designated base directory, but they are still constrained by the underlying storage mechanism—for example, a loader wrapping a Java class loader can only access resources that the class loader can load, while one wrapping a web application context can only access resources available through that context.
Exploitation status
No public exploit
No exploit has been reported in the sources we check.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment exploitation: none
- Indexed PoC none indexed
- EPSS 0.85% chance in 30 days
Waratek protection
Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.
A public code fix exists: apache/freemarker 83953d9.
- Protection none
- Action feasible
- Review automated AI triage
- Record active
| Decided by | A researcher's recorded decision for this specific CVE |
|---|---|
| Finding | An AI triage run set this CVE's status to No exploit published. |
Waratek research note
written 2026-11-13Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.
Comments
Relative path traversal: a malformed Locale is added to the template name after TemplateCache's .. check. It needs a CVE-specific patch on the localized lookup, because web-app and classpath template loaders clean up the path before reading it, so an unintended template or configuration file still gets loaded and shown.
Affected software and releases
Oracle advisories
| Advisory | Type | Quarter | Products Oracle names in its risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update October 2026 ↗ | CPU | 2026-Q4 | Oracle Communications / CNC Console (class) (25.2.202, 26.1.200) Oracle Communications / Core (Apache FreeMarker) (6.1.1-7.0.0) |
Oracle components and versions
| Family | Component | Versions, as Oracle lists them | Read as |
|---|---|---|---|
| Oracle Communications | CNC Console (class) | 25.2.202, 26.1.200 | 25.2.202 · 26.1.200 |
| Oracle Communications | Core (Apache FreeMarker) | 6.1.1-7.0.0 |
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
org.freemarker:freemarker |
2.2.0 | 2.3.35 |
unbounded |
Products and versions
2 products, 2 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| nvd | apache | freemarker | generic | ≥ 2.2 and < 2.3.35 |
| osv | org.freemarker | freemarker | generic | ≥ 2.2.0 and < 2.3.35 |
References
Timeline
Timeline
| Published | 2026-09-10 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-09-11 | NVD's own last-modified date for this record. |
| Last VRT activity | 2026-10-21 | Most recent commit touching this CVE's classification, patch or rule file. |
| Classification created | 2026-11-13 | First commit adding this CVE's research note. |