Ecosyste.ms: Advisories

An open API service providing security vulnerability metadata for many open source software ecosystems.

Security Advisories: MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWo2cHgtand2di12cHdx

Angular Expressions - Remote Code Execution

Impact

The vulnerability, reported by GoSecure Inc, allows Remote Code Execution, if you call expressions.compile(userControlledInput) where userControlledInput is text that comes from user input.

This time, the security of the package could be bypassed by using a more complex payload, using a .constructor.constructor technique.

Patches

Users should upgrade to version 1.1.2 of angular-expressions

Workarounds

A temporary workaround might be either to :

OR

if (/^[|a-zA-Z.0-9 :"'+-?]+$/.test(userControlledInput)) {
      var result = expressions.compile(userControlledInput);
}
else {
     result = undefined;
}

References

Removal of angular-expression sandbox

For more information

If you have any questions or comments about this advisory:

Credits

The issue was reported by Maxime Nadeau from GoSecure, Inc.

Permalink: https://github.com/advisories/GHSA-j6px-jwvv-vpwq
JSON: https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWo2cHgtand2di12cHdx
Source: GitHub Advisory Database
Origin: Unspecified
Severity: High
Classification: General
Published: about 3 years ago
Updated: about 1 year ago


CVSS Score: 8.8
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Identifiers: GHSA-j6px-jwvv-vpwq, CVE-2021-21277
References: Repository: https://github.com/peerigon/angular-expressions
Blast Radius: 25.8

Affected Packages

npm:angular-expressions
Dependent packages: 74
Dependent repositories: 849
Downloads: 147,318 last month
Affected Version Ranges: < 1.1.2
Fixed in: 1.1.2
All affected versions: 0.1.0, 0.2.0, 0.2.1, 0.3.0, 1.0.0, 1.0.1, 1.1.0, 1.1.1
All unaffected versions: 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10, 1.2.0, 1.2.1