CVE-2021-23352 json
Command Injection
published 2021-03-09 5 y ago modified 2026-07-08 4 mo ago also GHSA-753c-phhg-cj29 , EUVD-2021-0621
- cvss
- 8.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.1%
- EPSS 2.1% chance of exploitation in 30 days, percentile 81%
- public exploits
- 0
- none known
Summary
This affects the package madge before 4.0.1. It is possible to specify a custom Graphviz path via the graphVizPath option parameter which when the .image(), .svg() or .dot() functions are called, is executed by the childprocess.exec function.
Patch / fix
- npm madge 4.0.1
- n/a madge 4.0.1
- github.com/pahen/madge@da5cbc9 commit
- snyk.io/vuln/SNYK-JS-MADGE-1082875 advisory
Exploit prediction
2.06% chance of exploitation in the next 30 days, higher than 81% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- snyk.io https://snyk.io/vuln/SNYK-JS-MADGE-1082875 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L/E:F/RL:O/RC:C |
| CNA | 3.1 | 8.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | madge | <4.0.1 |
4.0.1 |
Affected products
- n/a madge
Classification
References
-
github.com
/pahen/madge/commit/da5cbc9ab30372d687fa7c324b22af7ffa5c6332
web, patch, third-party-advisory
-
snyk.io
/vuln/SNYK-JS-MADGE-1082875
web, exploit, patch, third-party-advisory
-
github.com
/pahen/madge/blob/master/lib/graph.js%23L27
broken-link, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-23352
advisory
-
github.com
/pahen/madge/blob/master/lib/graph.js#L27
web
Sources
- CVE List CVE-2021-23352
- GitHub Advisory GHSA-753c-phhg-cj29
- NVD CVE-2021-23352
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.