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 neutralize specific syntax patterns that allow for the execution of unauthorized expressions. 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 Dawid Bakaj (VIPentest.com) 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