{"id":"UBUNTU-CVE-2026-50556","details":"Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.16, 20.3.24, and 19.2.25, a Cross-Site Scripting (XSS) vulnerability exists in @angular/platform-server's DOM emulation dependency (domino) when serializing the content of \u003cnoscript\u003e elements. When rendering dynamic text content inside a \u003cnoscript\u003e element via template bindings (such as {{ value }} or [textContent]), the template engine expects the browser to render the content safely. Under Server-Side Rendering (SSR), domino is configured with scripting enabled, meaning \u003cnoscript\u003e is treated as a raw-text element. However, domino's serializer completely omitted \u003cnoscript\u003e from the list of raw-text elements requiring closing-tag escaping during DOM serialization. As a result, any occurrence of \u003c/noscript\u003e in the bound dynamic text was never escaped under any circumstances. The unescaped closing tag was serialized directly into the output HTML (e.g. \u003cnoscript\u003e\u003c/noscript\u003e\u003cscript\u003ealert(1)\u003c/script\u003e\u003c/noscript\u003e). When parsed by a browser, it closes the \u003cnoscript\u003e block early, allowing the injected \u003cscript\u003e block to execute in the user's browser context, causing same-origin Cross-Site Scripting (XSS). This vulnerability is fixed in 22.0.0-rc.2, 21.2.16, 20.3.24, and 19.2.25.","modified":"2026-06-30T18:15:47.793947794Z","published":"2026-06-22T18:16:00Z","upstream":["CVE-2026-50556"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-50556"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-50556"}],"affected":[{"package":{"name":"angular.js","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=esm-infra%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.2.28-1ubuntu2","1.2.28-1ubuntu2+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-angularjs","binary_version":"1.2.28-1ubuntu2+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}},{"package":{"name":"angular.js","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.10-1","1.5.10-1ubuntu0.1~esm1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.5.10-1ubuntu0.1~esm1","binary_name":"libjs-angularjs"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}},{"package":{"name":"angular.js","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=esm-apps%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.10-1","1.7.9-1","1.7.9-1ubuntu0.1~esm1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.7.9-1ubuntu0.1~esm1","binary_name":"libjs-angularjs"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}},{"package":{"name":"angular.js","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.2-2","1.8.2-2ubuntu0.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-angularjs","binary_version":"1.8.2-2ubuntu0.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}},{"package":{"name":"angular.js","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.3-1","1.8.3-1ubuntu0.24.04.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-angularjs","binary_version":"1.8.3-1ubuntu0.24.04.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}},{"package":{"name":"angular.js","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.3-1","1.8.3-3"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-angularjs","binary_version":"1.8.3-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}},{"package":{"name":"angular.js","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/angular.js?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.3-3"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-angularjs","binary_version":"1.8.3-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-50556.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"},{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N"},{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"type":"Ubuntu","score":"medium"}]}