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
| Link | Resource |
|---|---|
| https://github.com/PebbleTemplates/pebble/commit/b3451c8f305a1a248fbcc2363fd307d0baaee329 | Patch |
| https://github.com/PebbleTemplates/pebble/issues/680 | Issue Tracking |
| https://github.com/PebbleTemplates/pebble/issues/688 | Issue Tracking Vendor Advisory |
| https://pebbletemplates.io/wiki/tag/include | Product |
| https://security.snyk.io/vuln/SNYK-JAVA-IOPEBBLETEMPLATES-8745594 | Exploit Third Party Advisory |
| https://github.com/PebbleTemplates/pebble/pull/715 | Issue Tracking Patch |
| https://security.snyk.io/vuln/SNYK-JAVA-IOPEBBLETEMPLATES-8745594 | Exploit Third Party Advisory |
Configurations
History
No history.
Information
Published : 2025-02-27 05:15
Updated : 2026-06-17 08:39
NVD link : CVE-2025-1686
Mitre link : CVE-2025-1686
CVE.ORG link : CVE-2025-1686
JSON object : View
Products Affected
pebbletemplates
- pebble_templates
CWE
CWE-73
External Control of File Name or Path
