{"id":"GHSA-pw8r-6689-xvf4","summary":"Angular Expressions - Remote Code Execution using filters","details":"## Impact\n\nAn attacker can write a malicious expression that escapes the sandbox to execute arbitrary code on the system.\n\nExample of vulnerable code:\n\n```\nconst expressions = require(\"angular-expressions\");\nconst result = expressions.compile(\"a | __proto__\")({}, {});\n```\n\nThis should throw the error : Filter '__proto__' is not defined, however, this shows : \n\nUncaught SyntaxError: Unexpected identifier 'Object'\n\nWith a more complex (undisclosed) payload, one can get full access to Arbitrary code execution on the system.\n\n## Vulnerable versions : \n\nangular-expressions \u003c= 1.5.1\n\n## Patches\n\nThe problem has been patched in version 1.5.2 of angular-expressions.\n\n## Credits\n\nCredits go to San Gil from [www.securityoffice.io](https://securityoffice.io/) who has found the issue and reported it to us.","aliases":["CVE-2026-44643"],"modified":"2026-05-13T14:01:28.537863Z","published":"2026-05-11T16:20:58Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2026-05-11T16:20:58Z","nvd_published_at":"2026-05-11T16:17:36Z","cwe_ids":["CWE-95"],"severity":"CRITICAL"},"references":[{"type":"WEB","url":"https://github.com/peerigon/angular-expressions/security/advisories/GHSA-pw8r-6689-xvf4"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-44643"},{"type":"PACKAGE","url":"https://github.com/peerigon/angular-expressions"}],"affected":[{"package":{"name":"angular-expressions","ecosystem":"npm","purl":"pkg:npm/angular-expressions"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.5.2"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 1.5.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-pw8r-6689-xvf4/GHSA-pw8r-6689-xvf4.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}