CVE-2025-1686

io.pebbletemplates:pebble: Path Traversal Vulnerability in Pebble Templates

Published Feb 27, 2025 CVSS 4.0 · 6.1 Medium EPSS < 1% KEV · Not listed
Description
Versions of the package io.pebbletemplates:pebble from 0 and before 4.1.0 are vulnerable to External Control of File Name or Path via the include tag. A high privileged attacker can access sensitive local files by crafting malicious notification templates that leverage this tag to include files like /etc/passwd or /proc/1/environ.

Workaround

This vulnerability can be mitigated by disabling the include macro in Pebble Templates:

java
new PebbleEngine.Builder()
.registerExtensionCustomizer(new DisallowExtensionCustomizerBuilder()
.disallowedTokenParserTags(List.of("include"))
.build())
.build();

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2025-5321 Pebble has Arbitrary Local File Inclusion (LFI) Vulnerability via `include` macro
Github GHSA Github GHSA GHSA-p75g-cxfj-7wrx Pebble has Arbitrary Local File Inclusion (LFI) Vulnerability via `include` macro
History
Type Values Removed Values Added
First Time appeared Pebbletemplates pebble Templates
CPEs cpe:2.3:a:pebbletemplates:pebble:*:*:*:*:*:*:*:* cpe:2.3:a:pebbletemplates:pebble_templates:*:*:*:*:*:*:*:*
Vendors & Products Pebbletemplates pebble
Pebbletemplates pebble Templates
Type Values Removed Values Added
Description All versions of the package io.pebbletemplates:pebble are vulnerable to External Control of File Name or Path via the include tag. A high privileged attacker can access sensitive local files by crafting malicious notification templates that leverage this tag to include files like /etc/passwd or /proc/1/environ. Workaround This vulnerability can be mitigated by disabling the include macro in Pebble Templates: java new PebbleEngine.Builder() .registerExtensionCustomizer(new DisallowExtensionCustomizerBuilder() .disallowedTokenParserTags(List.of("include")) .build()) .build(); Versions of the package io.pebbletemplates:pebble from 0 and before 4.1.0 are vulnerable to External Control of File Name or Path via the include tag. A high privileged attacker can access sensitive local files by crafting malicious notification templates that leverage this tag to include files like /etc/passwd or /proc/1/environ. Workaround This vulnerability can be mitigated by disabling the include macro in Pebble Templates: java new PebbleEngine.Builder() .registerExtensionCustomizer(new DisallowExtensionCustomizerBuilder() .disallowedTokenParserTags(List.of("include")) .build()) .build();
References
Type Values Removed Values Added
First Time appeared Pebbletemplates
Pebbletemplates pebble
CPEs cpe:2.3:a:pebbletemplates:pebble:*:*:*:*:*:*:*:*
Vendors & Products Pebbletemplates
Pebbletemplates pebble
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title io.pebbletemplates:pebble: Path Traversal Vulnerability in Pebble Templates
References
Metrics threat_severity

None

threat_severity

Moderate

Type Values Removed Values Added
Description All versions of the package io.pebbletemplates:pebble are vulnerable to External Control of File Name or Path via the include tag. A high privileged attacker can access sensitive local files by crafting malicious notification templates that leverage this tag to include files like /etc/passwd or /proc/1/environ. Workaround This vulnerability can be mitigated by disabling the include macro in Pebble Templates: java new PebbleEngine.Builder() .registerExtensionCustomizer(new DisallowExtensionCustomizerBuilder() .disallowedTokenParserTags(List.of("include")) .build()) .build();
Weaknesses CWE-73
References
Metrics cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N/E:P'}

cvssV4_0

{'score': 6.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N/E:P'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
snyk
Published
Updated
Apr 19, 2026, 7:54 AM
Reserved
Feb 25, 2025, 10:32 AM
Status
Analyzed
Published
Feb 27, 2025, 5:15 AM
Modified
Jun 17, 2026, 8:39 AM
Severity
Moderate
Public date
Feb 27, 2025, 5:00 AM