Cyber Risks · PortSwigger Research

Bypassing AngularJS bind HTML

Summary: PortSwigger researcher Gareth Heyes found that the SVG use element could pull in SVG from another origin in old Edge when the source sent the CORS header Access-Allow-Cross-Origin: *, and an onclick event injected into that external SVG fired in the target domain. He then applied the same vector to AngularJS, which allowed SVG in versions before 1.5.0, producing a working ng-bind-html bypass on AngularJS 1.4.9; later versions are not vulnerable because they do not allow SVG.

Bottom line: The bypass depends on an AngularJS release line that stopped allowing SVG at 1.5.0, so any application still running 1.4.x carries a working ng-bind-html bypass that later versions do not.

Read the original at PortSwigger Research ↗

Topics
Vulnerabilities & Patching
Related