How the CVE Works
AngularJS fails to properly sanitize `href` and `xlink:href` attributes within SVG `
DailyCVE Form
Platform: AngularJS
Version: All versions
Vulnerability: SVG sanitization bypass
Severity: Low
Date: Apr 30, 2025
What Undercode Say:
Exploitation:
1. Malicious SVG Injection:
<svg> <image xlink:href="malicious-resource" width="10000" height="10000"/> </svg>
2. Performance Degradation:
// Repeatedly inject large SVGs to trigger resource exhaustion for (let i = 0; i < 1000; i++) { document.body.innerHTML += <code><svg><image xlink:href="slow-loading-image"/></svg></code>; }
Mitigation:
1. Disable AngularJS SVG Binding:
angular.module('app').config(function($compileProvider) { $compileProvider.aHrefSanitizationWhitelist(/^\s(https?|ftp|mailto|tel|local):/); });
2. Content Security Policy (CSP):
Content-Security-Policy: default-src 'self'; img-src 'self' data:;
3. Manual Sanitization:
function sanitizeSVG(svg) { return svg.replace(/xlink:href="[^"]"/g, ''); }
Detection:
1. Regex for Vulnerable Patterns:
/<image[^>]+(href|xlink:href)=["'][^"']["']/gi
2. Log Monitoring:
grep -E "xlink:href|svg" /var/log/nginx/access.log
Analytics:
- Impact: Low (spoofing, performance disruption)
- Exploit Complexity: Low (no authentication required)
- Affected Users: Legacy AngularJS applications
- Workaround Efficacy: Partial (requires manual fixes)
References:
Sources:
Reported By: github.com
Extra Source Hub:
Undercode