Angular Expressions - Remote Code Execution using filters
An attacker can write a malicious expression that escapes the sandbox to execute arbitrary code on the system. Example of vulnerable code: const expressions = require("angular-expressions"); const result = expressions.compile("a | proto")({}, {}); This should throw the error : Filter 'proto' is not defined, however, this shows : Uncaught SyntaxError: Unexpected identifier 'Object' With a more complex (undisclosed) payload, one can get full access to Arbitrary code execution on the …