~ / search / GHSA-5462-4vcx-jh7j

GHSA-5462-4vcx-jh7j

Angular Expressions - Remote Code Execution when using locals

Source: GitHub Advisory Database (reviewed) Critical CVE-2024-54152

Packages

EcosystemPackageAffectedFixed in
npm angular-expressions < 1.4.3 1.4.3

Details

As written in the advisory (Markdown source, shown as plain text).

### Impact An attacker can write a malicious expression that escapes the sandbox to execute arbitrary code on the system. Example of vulnerable code: ```js const expressions = require("angular-expressions"); const result = expressions.compile("__proto__.constructor")({}, {}); // result should be undefined, however for versions <=1.4.2, it returns an object. ``` With a more complex (undisclosed) payload, one can get full access to Arbitrary code execution on the system. ### Patches The problem has been patched in version 1.4.3 of angular-expressions. ### Workarounds There is one workaround if it not possible for you to update : * Make sure that you use the compiled function with just one argument : ie this is not vulnerable : `const result = expressions.compile("__proto__.constructor")({});` : in this case you lose the feature of locals if you need it. ### Credits Credits go to [JorianWoltjer](https://github.com/JorianWoltjer) who has found the issue and reported it to use. https://jorianwoltjer.com/

References

External links from the advisory. They lead to third-party sites.