CVE-2023-30331: Server-side template injection in beetl
9.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.4771%
CWE
-
Published
5/4/2023
Updated
11/8/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| com.ibeetl:beetl | maven | <= 3.15.0.RELEASE |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from two key points: 1) DefaultNativeSecurityManager's permit method only blocks specific java.lang classes but allows reflection to bypass these restrictions, as demonstrated in the POC using Class.forName() to access ScriptEngineManager. 2) The template rendering function (render) serves as the injection vector that processes attacker-controlled templates without preventing the execution of arbitrary Java code via these bypassed reflection paths. The combination of these two functions creates the SSTI vulnerability.