A security bypass vulnerability exists in the expression execution mechanisms of Thymeleaf up to and including 3.1.3.RELEASE. Although the library provides mechanisms to prevent expression injection, it fails to properly restrict the scope of accessible objects, allowing specific potentially sensitive objects to be reached from within a template. If an application developer passes unvalidated user input directly to the template engine, an unauthenticated remote attacker can bypass the library's protections to achieve Server-Side Template Injection (SSTI).
This has been fixed in Thymeleaf 3.1.4.RELEASE.
No workaround is available beyond ensuring applications do not pass unvalidated user input directly to the template engine. Upgrading to 3.1.4.RELEASE is strongly recommended in any case.
Thanks to Thomas Reburn (Praetorian) for responsible disclosure.
3.1.4.RELEASE3.1.4.RELEASE3.1.4.RELEASEExploitability
AV:NAC:HPR:NUI:NScope
S:CImpact
C:HI:HA:H9.0/CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H