Skip to content
Fencer Vulns
critical 9.8

CVE-2017-18197 json

mxGraph vulnerable to XXE attacks

published 2018-02-24 8 y ago modified 2026-06-17 4 mo ago also GHSA-wvpv-8524-wg6x , EUVD-2022-5647

cvss
9.8
version 3.0, NVD
cisa kev
Not listed
not in CISA's catalog
epss
2.9%
EPSS 2.9% chance of exploitation in 30 days, percentile 87%
public exploits
0
none known

Summary

In mxGraphViewImageReader.java in mxGraph before 3.7.6, the SAXParserFactory instance in convert() is missing flags to prevent XML External Entity (XXE) attacks, as demonstrated by /ServerView.

Patch / fix

  • npm mxgraph 3.7.6
  • libjgraphx-java Debian 14, Debian 13, Debian 12 2.1.0.7-2

debian advisories DEBIAN-CVE-2017-18197

  • jgraphx openSUSE Tumbleweed 3.9.2-1.9

opensuse advisories openSUSE-SU-2024:10879-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2017-18197 updated cvss 4.8

jgraphx: XML External Entity (XXE) vulnerability in mxGraphViewImageReader.java:convert()

  • Red Hat Software Collections rh-thermostat16-jgraphx, rh-thermostat16-jgraphx-javadoc
    affected: no fix planned “Will not fix”

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

2.90% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/jgraph/mxgraph/issues/124 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.0 9.8 CVSS:3.0/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
GitHub 3.0 9.8 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
npm mxgraph
<3.7.6
3.7.6

Classification

Weakness
  • CWE-611 Improper Restriction of XML External Entity Reference

References

Sources

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.