dojo@1.13.1 vulnerabilities

Dojo core is a powerful, lightweight library that makes common tasks quicker and easier. Animate elements, manipulate the DOM, and query with easy CSS syntax, all without sacrificing performance.

Direct Vulnerabilities

Known vulnerabilities in the dojo package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • H
Prototype Pollution

dojo is a foundation package for the Dojo 1 Toolkit. While still being maintained, new development is primarily focused on modern Dojo.

Affected versions of this package are vulnerable to Prototype Pollution via the setObject function.

PoC

1. Install `dojo` by running `npm i dojo`.
2. Create the following HTML file in the directory where `dojo` is installed.
3. Access the HTML page via a browser - you should see the alert.

<!-- The HTML file -->
<!DOCTYPE html>
<html>
<head>
<script src="node_modules/dojo/dojo.s"></script>
</head>
<body>
<script>
        document.addEventListener("DOMContentLoaded", function() {
                const obj = {};
                dojo.setObject("__proto__.vuln", "polluted!", obj);
                alert("anything".vuln);
        })
</script>
</body>
</html>

How to fix Prototype Pollution?

Upgrade dojo to version 1.17.0 or higher.

<1.17.0
  • M
Prototype Pollution

dojo is a foundation package for the Dojo 1 Toolkit. While still being maintained, new development is primarily focused on modern Dojo.

Affected versions of this package are vulnerable to Prototype Pollution. The deepCopy method within dojo could be tricked into adding or modifying properties of Object.prototype

How to fix Prototype Pollution?

Upgrade dojo to version 1.11.10, 1.12.8, 1.13.7, 1.14.6, 1.15.3, 1.16.2 or higher.

<1.11.10 >=1.12.1 <1.12.8 >=1.13.0 <1.13.7 >=1.14.0 <1.14.6 >=1.15.0 <1.15.3 >=1.16.0 <1.16.2