Skip to content
Fencer Intel
critical 9.1

CVE-2026-84939 json

Apache FreeMarker, Apache FreeMarker: A malformed locale may be exploitable for path traversal attacks

published 2mo ago modified last mo. also GHSA-27j2-h3m2-8237 , EUVD-2026-75251

cvss
9.1
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.9%
EPSS 0.9% chance of exploitation in 30 days, percentile 58%
public exploits
0
none known

Summary

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.

Patch / fix

  • maven org.freemarker:freemarker 2.3.35
  • Apache Software Foundation Apache FreeMarker 2.3.35

Is CVE-2026-84939 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-84939 updated cvss 7.5

org.apache.freemarker/freemarker: Apache FreeMarker: Path traversal via malformed locale identifier

  • Red Hat Single Sign-On 7 freemarker
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Exploit Intelligence exploit-intelligence/agent-client-rhel9
    under investigation
  • Red Hat build of Quarkus 3.27.6.redhat freemarker 2.3.35
    fixed: vendor fix RHSA-2026:83082
  • Red Hat build of Quarkus 3.33.4.redhat freemarker 2.3.35
    fixed: vendor fix RHSA-2026:83520
  • Red Hat build of Apache Camel 4 for Quarkus 3 freemarker Red Hat build of Apicurio Registry 3 freemarker
    not affected: vulnerable code not present
  • Red Hat Build of Keycloak freemarker, rhbk/keycloak-rhel9
    not affected: vulnerable code cannot be controlled by adversary
  • Red Hat build of Quarkus 3.27.6.redhat jna 5.8.0, db2 1.21.4, h2 2.3.230, y18n 5.0.8, cliui 8.0.1, guice 5.1.0, +1009 more Red Hat build of Quarkus 3.33.4.redhat jna 5.8.0, h2 2.4.240, y18n 5.0.8, cliui 8.0.1, guice 5.1.0, wasm 2.15.3, +1016 more
    not affected: vulnerable code not present
  • Red Hat Fuse 7 freemarker, freemarker-parser
    not affected: vulnerable code not in execute path

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
total
Assessed
2mo ago

Exploit prediction

0.85% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-11).

CVSS scores

assigned by version score vector
CISA ADP 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CNA 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
GitHub 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Affected packages

ecosystem package affected fixed in
maven org.freemarker:freemarker
>=2.2.0, <2.3.35
2.3.35

Affected products

  • Apache Software Foundation Apache FreeMarker

Classification

Weakness
  • CWE-23 Relative Path Traversal

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.