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();
References
| Link | Resource |
|---|---|
| https://github.com/PebbleTemplates/pebble/issues/680 | Issue Tracking |
| https://github.com/PebbleTemplates/pebble/issues/688 | Vendor Advisory Issue Tracking |
| https://pebbletemplates.io/wiki/tag/include | Product |
| https://security.snyk.io/vuln/SNYK-JAVA-IOPEBBLETEMPLATES-8745594 | Exploit Third Party Advisory |
| 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 : 2025-04-07 18:29
NVD link : CVE-2025-1686
Mitre link : CVE-2025-1686
CVE.ORG link : CVE-2025-1686
JSON object : View
Products Affected
pebbletemplates
- pebble
CWE
CWE-73
External Control of File Name or Path
