The vulnerability lies in the insufficient sanitization of SVG files before they are potentially rendered inline. The primary vulnerable function was DotNetNuke.Services.FileSystem.Internal.SecurityCheckers.SvgFileChecker.Validate, which, prior to the patch, used PortalSecurity.Instance.ValidateInput with the NoScripting flag. This method was not robust enough to remove all XSS vectors from SVG files, such as scripts within <script> tags (especially with namespaces) or event handlers like onload or onerror. The patch replaced this with a more direct XML parsing approach that explicitly disallows <script> elements and attributes starting with on. The DotNetNuke.Services.FileSystem.Internal.FileSecurityController.Validate function is also relevant as it's the orchestrator that calls the specific file checker, in this case, the SvgFileChecker.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| DotNetNuke.Core | nuget | < 9.13.9 | 9.13.9 |
Ongoing coverage of React2Shell