Every CVESearch/Get API key

CVE-2026-84939

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

9.1 CriticalFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.85%Up 0.6 points since Sep 10, 2026
90%50%10%1%

What each source reports

CVE List Score used9.1

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

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.

Record
CVE-2026-84939
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-23
Updated
2026-11-02
EUVDEUVD-2026-752519.1

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.

Record
EUVD-2026-75251
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-27j2-h3m2-82379.1

Apache FreeMarker template loading mechanism vulnerable to path traversal

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.

Record
GHSA-27j2-h3m2-8237
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-23
Updated
2026-11-02
NVD9.1

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.

Record
CVE-2026-84939
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-23
Updated
2026-11-02
OSVDEBIAN-CVE-2026-849399.1

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.

Record
DEBIAN-CVE-2026-84939
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVGHSA-27j2-h3m2-82379.1

Apache FreeMarker template loading mechanism vulnerable to path traversal

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.

Record
GHSA-27j2-h3m2-8237
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Weakness
CWE-23
Updated
2026-11-02
Show 8 moreShow less
OSVUBUNTU-CVE-2026-849399.1

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.

Record
UBUNTU-CVE-2026-84939
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVCLSA-2026-1791549508No score

TuxCare security update for org.freemarker:freemarker (1 CVE)

TuxCare rebuilt org.freemarker:freemarker to address 1 CVE. Fixed in 2.3.34-tuxcare.1.

Record
CLSA-2026-1791549508
Updated
2026-11-02
OSVCLSA-2026-1791957648No score

TuxCare security update for org.freemarker:freemarker (1 CVE)

TuxCare rebuilt org.freemarker:freemarker to address 1 CVE. Fixed in 2.3.33-tuxcare.1.

Record
CLSA-2026-1791957648
Updated
2026-11-02
OSVCLSA-2026-1791959281No score

TuxCare security update for org.freemarker:freemarker (1 CVE)

TuxCare rebuilt org.freemarker:freemarker to address 1 CVE. Fixed in 2.3.32-tuxcare.1.

Record
CLSA-2026-1791959281
Updated
2026-11-02
OSVCLSA-2026-1793128416No score

TuxCare security update for org.freemarker:freemarker (1 CVE)

TuxCare rebuilt org.freemarker:freemarker to address 1 CVE. Fixed in 2.3.29-tuxcare.1.

Record
CLSA-2026-1793128416
Updated
2026-11-02
OSVCLSA-2026-1793128508No score

TuxCare security update for org.freemarker:freemarker (1 CVE)

TuxCare rebuilt org.freemarker:freemarker to address 1 CVE. Fixed in 2.3.30-tuxcare.1.

Record
CLSA-2026-1793128508
Updated
2026-11-02
OSVCLSA-2026-1793128764No score

TuxCare security update for org.freemarker:freemarker (1 CVE)

TuxCare rebuilt org.freemarker:freemarker to address 1 CVE. Fixed in 2.3.31-tuxcare.1.

Record
CLSA-2026-1793128764
Updated
2026-11-02
OSVROOT-APP-MAVEN-CVE-2026-84939No score

CVE-2026-84939 in org.freemarker:freemarker - Patched by Root

Root has patched CVE-2026-84939 in the org.freemarker:freemarker package for Root:Maven. Multiple fixed versions available.

Record
ROOT-APP-MAVEN-CVE-2026-84939
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.freemarker:freemarker
Maven
2.2.0 to 2.3.34
2.3.35
org.freemarker:freemarker
TuxCare:Maven
2.3.34 up to 2.3.34-tuxcare.1
2.3.34-tuxcare.1
org.freemarker:freemarker
TuxCare:Maven
2.3.33 up to 2.3.33-tuxcare.1
2.3.33-tuxcare.1
org.freemarker:freemarker
TuxCare:Maven
2.3.32 up to 2.3.32-tuxcare.1
2.3.32-tuxcare.1
org.freemarker:freemarker
TuxCare:Maven
2.3.29 up to 2.3.29-tuxcare.1
2.3.29-tuxcare.1
org.freemarker:freemarker
TuxCare:Maven
2.3.30 up to 2.3.30-tuxcare.1
2.3.30-tuxcare.1
org.freemarker:freemarker
TuxCare:Maven
2.3.31 up to 2.3.31-tuxcare.1
2.3.31-tuxcare.1
libfreemarker-java
Debian:12
All versions, plus listed versions
2.3.31-22.3.32-12.3.32-22.3.32-2.1
None known
libfreemarker-java
Debian:13
All versions, plus listed versions
2.3.32-2.1
None known
libfreemarker-java
Debian:14
All versions, plus listed versions
2.3.32-2.1
None known
Show 10 moreShow less
Affected packages
PackageAffectedFixed
org.freemarker:freemarker
Maven
2.2.0 up to 2.3.35, plus listed versions
2.3.102.3.112.3.122.3.132.3.14
Show 21 moreShow less
2.3.152.3.162.3.172.3.182.3.192.3.202.3.212.3.222.3.232.3.24-incubating2.3.25-incubating2.3.26-incubating2.3.27-incubating2.3.282.3.292.3.302.3.312.3.322.3.332.3.342.3.9
2.3.35
org.freemarker:freemarker
Root:Maven
before 2.3.32-aikido.1
2.3.32-aikido.12.3.34-aikido.1
io.root.org.freemarker:freemarker
Root:Maven
before 2.3.32-root.io.1
2.3.32-root.io.12.3.34-root.io.1
libfreemarker-java
Ubuntu:16.04:LTS
All versions, plus listed versions
2.3.23-12.3.23-22.3.23-3
None known
libfreemarker-java
Ubuntu:18.04:LTS
All versions, plus listed versions
2.3.23-62.3.23-72.3.23-8
None known
libfreemarker-java
Ubuntu:20.04:LTS
All versions, plus listed versions
2.3.23-9
None known
libfreemarker-java
Ubuntu:22.04:LTS
All versions, plus listed versions
2.3.23-11
None known
libfreemarker-java
Ubuntu:24.04:LTS
All versions, plus listed versions
2.3.31-22.3.32-12.3.32-2
None known
libfreemarker-java
Ubuntu:26.10
All versions, plus listed versions
2.3.32-2.1
None known
libfreemarker-java
Ubuntu:26.04:LTS
All versions, plus listed versions
2.3.32-2.1
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-84939 is a critical vulnerability (CVSS 9.1) in Apache Freemarker, published September 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.85%, the 58th percentile. Fixed in org.freemarker:freemarker 2.3.35.

References

Show 4 moreShow less
MoveEnter Open