The vulnerability, identified as GHSA-m49c-g9wr-hv6v, is a sandbox bypass in jinjava. The provided description and proof-of-concept (PoC) clearly indicate that the vulnerability is triggered by accessing properties of the JinjavaInterpreter instance, which is exposed in the template context as ____int3rpr3t3r____. Specifically, the PoC accesses the config property to get an ObjectMapper instance, which is then used to deserialize arbitrary classes.
The patch in commit 66df351e7e8ad71ca04dcacb4b65782af820b8b1 directly addresses this issue. The change in src/main/java/com/hubspot/jinjava/el/ext/JinjavaBeanELResolver.java modifies the getValue method. This method is responsible for resolving property access in JSTL expressions. The added code if (isRestrictedClass(base)) { return null; } prevents property access on restricted classes. The tests added in the same commit confirm that accessing interpreter.config is now blocked.
Therefore, the vulnerable function is com.hubspot.jinjava.el.ext.JinjavaBeanELResolver.getValue because, prior to the patch, it failed to perform the necessary security check, allowing the sandbox bypass.