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();
The product allows user input to control or influence paths or file names that are used in filesystem operations.
Link | Tags |
---|---|
https://security.snyk.io/vuln/SNYK-JAVA-IOPEBBLETEMPLATES-8745594 | third party advisory exploit |
https://github.com/PebbleTemplates/pebble/issues/680 | issue tracking |
https://pebbletemplates.io/wiki/tag/include | product |
https://github.com/PebbleTemplates/pebble/issues/688 | issue tracking vendor advisory |