ZRender is a lightweight graphic library providing 2d draw for Apache ECharts. In versions prior to 5.2.1, using `merge` and `clone` helper methods in the `src/core/util.ts` module results in prototype pollution. It affects the popular data visualization library Apache ECharts, which uses and exports these two methods directly. The GitHub Security Advisory page for this vulnerability contains a proof of concept. This issue is patched in ZRender version 5.2.1. One workaround is available: Check if there is `__proto__` in the object keys. Omit it before using it as an parameter in these affected methods. Or in `echarts.util.merge` and `setOption` if project is using ECharts.
Vulnerable Library - echarts-4.8.0.tgz
Path to dependency file: /ui/package.json
Path to vulnerable library: /ui/node_modules/zrender/package.json
Vulnerabilities
Reachable
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2021-39227
### Vulnerable Library - zrender-4.3.1.tgzA lightweight canvas library.
Library home page: https://registry.npmjs.org/zrender/-/zrender-4.3.1.tgz
Path to dependency file: /ui/package.json
Path to vulnerable library: /ui/node_modules/zrender/package.json
Dependency Hierarchy: - echarts-4.8.0.tgz (Root Library) - :x: **zrender-4.3.1.tgz** (Vulnerable Library)
Found in base branch: master
### Reachability Analysis This vulnerability is potentially reachable ``` questdb-console-0.0.1/src/js/console/quick-vis.js (Application) -> echarts-4.8.0/lib/echarts.js (Extension) -> echarts-4.8.0/lib/coord/geo/mapDataStorage.js (Extension) -> zrender-4.3.1/lib/tool/parseSVG.js (Extension) -> ❌ zrender-4.3.1/lib/graphic/shape/Ellipse.js (Vulnerable Component) ``` ### Vulnerability DetailsZRender is a lightweight graphic library providing 2d draw for Apache ECharts. In versions prior to 5.2.1, using `merge` and `clone` helper methods in the `src/core/util.ts` module results in prototype pollution. It affects the popular data visualization library Apache ECharts, which uses and exports these two methods directly. The GitHub Security Advisory page for this vulnerability contains a proof of concept. This issue is patched in ZRender version 5.2.1. One workaround is available: Check if there is `__proto__` in the object keys. Omit it before using it as an parameter in these affected methods. Or in `echarts.util.merge` and `setOption` if project is using ECharts.
Publish Date: 2021-09-17
URL: CVE-2021-39227
### CVSS 3 Score Details (6.2)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Local - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: None - Availability Impact: High
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-39227
Release Date: 2021-09-17
Fix Resolution (zrender): 5.2.1
Direct dependency fix Resolution (echarts): 5.2.1
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.:rescue_worker_helmet:Automatic Remediation will be attempted for this issue.