Code Execution via SSTI (ASP.NET Razor)
Invicti identified a code execution which occurs when using an unintentional expression in template engine instead of string literals.
This is a highly critical issue and should be addressed as soon as possible.
An attacker can execute arbitrary code by using wrong construction in template engine tags. The attacker may also be able to execute arbitrary system commands.
Do not trust the data that users supply and don't add it to directly into the template. Instead, pass user controlled parameters to the template as template parameters.
Required Skills for Successful Exploitation#
This vulnerability is not difficult to leverage. There are vast resources available for template engines. Successful exploitation requires knowledge of the programming language and syntax of the template engine. Minimal attack skill is enough to exploit vulnerabilities like this one.