CVE Catalog

CVE-2023-40013

HighCVSS 7.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

37th percentile - higher than 37% of all known CVEs

Summary

SVG Loader is a JavaScript library that fetches SVG files and injects their code into the document. The input sanitization logic is insufficient, allowing an attacker to craft a malicious SVG that leads to Cross-site Scripting (XSS) attacks.

Risk Assessment

Organizations using external-svg-loader that allow users to provide SVG sources or upload SVG files are vulnerable to XSS attacks, which can lead to data theft or session hijacking.

Recommendation

It is recommended to upgrade the library to version 1.6.9 or later to mitigate this vulnerability. There are no known workarounds for this issue.

Related vulnerabilities

Original NVD description (English source)

SVG Loader is a javascript library that fetches SVGs using XMLHttpRequests and injects the SVG code in the tag's place. According to the docs, svg-loader will strip all JS code before injecting the SVG file for security reasons but the input sanitization logic is not sufficient and can be trivially bypassed. This allows an attacker to craft a malicious SVG which can result in Cross-site Scripting (XSS). When trying to sanitize the svg the lib removes event attributes such as `onmouseover`, `onclick` but the list of events is not exhaustive. Any website which uses external-svg-loader and allows its users to provide svg src, upload svg files would be susceptible to stored XSS attack. This issue has been addressed in commit `d3562fc08` which is included in releases from 1.6.9. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS