Vulnerability · Published Feb 27, 2025 · Assigned by snyk
CVE-2025-1686
Medium 6.8
In plain English
A medium-severity security flaw in io.pebbletemplates:pebble. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 58% of all known vulnerabilities).
Official 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();
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Maven | io.pebbletemplates:pebble | no fix listed | GHSA-p75g-cxfj-7wrx |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| n/a | io.pebbletemplates:pebble | 0 – before 4.1.0 |
Weakness: CWE-73 · Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N/E:P
References
- https://security.snyk.io/vuln/SNYK-JAVA-IOPEBBLETEMPLATES-8745594
- https://github.com/PebbleTemplates/pebble/issues/680
- https://pebbletemplates.io/wiki/tag/include
- https://github.com/PebbleTemplates/pebble/issues/688
- https://github.com/PebbleTemplates/pebble/commit/b3451c8f305a1a248fbcc2363fd307d0baaee329
- https://github.com/PebbleTemplates/pebble/pull/715