{"id":"UBUNTU-CVE-2019-9904","details":"An issue was discovered in lib\\cdt\\dttree.c in libcdt.a in graphviz 2.40.1. Stack consumption occurs because of recursive agclose calls in lib\\cgraph\\graph.c in libcgraph.a, related to agfstsubg in lib\\cgraph\\subg.c.","modified":"2026-05-20T16:04:06.396619780Z","published":"2019-03-21T18:29:00Z","upstream":["CVE-2019-9904"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2019-9904"},{"type":"REPORT","url":"https://research.loginsoft.com/bugs/stack-buffer-overflow-in-function-agclose-graphviz/"},{"type":"REPORT","url":"https://gitlab.com/graphviz/graphviz/-/issues/1512"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2019-9904"}],"affected":[{"package":{"name":"graphviz","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=esm-infra-legacy%2Ftrusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.26.3-15ubuntu4","2.34.0-0ubuntu4","2.34.0-0ubuntu5","2.36.0-0ubuntu1","2.36.0-0ubuntu2","2.36.0-0ubuntu3","2.36.0-0ubuntu3.1","2.36.0-0ubuntu3.2","2.36.0-0ubuntu3.2+esm1","2.36.0-0ubuntu3.2+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"graphviz","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_name":"libcdt5","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_name":"libcgraph6","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libgv-guile"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libgv-lua"},{"binary_name":"libgv-perl","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libgv-php5"},{"binary_name":"libgv-python","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_name":"libgv-ruby","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libgv-tcl"},{"binary_name":"libgvc6","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libgvc6-plugins-gtk"},{"binary_name":"libgvpr2","binary_version":"2.36.0-0ubuntu3.2+esm2"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libpathplan4"},{"binary_version":"2.36.0-0ubuntu3.2+esm2","binary_name":"libxdot4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=esm-infra%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.38.0-10build1","2.38.0-11","2.38.0-12","2.38.0-12build1","2.38.0-12ubuntu1","2.38.0-12ubuntu2","2.38.0-12ubuntu2.1","2.38.0-12ubuntu2.1+esm1","2.38.0-12ubuntu2.1+esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"graphviz"},{"binary_name":"libcdt5","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_name":"libcgraph6","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_name":"libgv-guile","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_name":"libgv-lua","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"libgv-perl"},{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"libgv-python"},{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"libgv-ruby"},{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"libgv-tcl"},{"binary_name":"libgvc6","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_name":"libgvc6-plugins-gtk","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_name":"libgvpr2","binary_version":"2.38.0-12ubuntu2.1+esm2"},{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"libpathplan4"},{"binary_version":"2.38.0-12ubuntu2.1+esm2","binary_name":"libxdot4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=esm-apps%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.38.0-16ubuntu2","2.38.0-18ubuntu1","2.40.1-0ubuntu5","2.40.1-0ubuntu6","2.40.1-2","2.40.1-2ubuntu0.1~esm1","2.40.1-2ubuntu0.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"graphviz","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_name":"libcdt5","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_name":"libcgraph6","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libgv-guile"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libgv-lua"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libgv-perl"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libgv-php7"},{"binary_name":"libgv-ruby","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libgv-tcl"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libgvc6"},{"binary_name":"libgvc6-plugins-gtk","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_name":"libgvpr2","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_name":"liblab-gamut1","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libpathplan4"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"libxdot4"},{"binary_name":"python-gv","binary_version":"2.40.1-2ubuntu0.1~esm2"},{"binary_version":"2.40.1-2ubuntu0.1~esm2","binary_name":"python3-gv"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=esm-apps%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.40.1-7build1","2.40.1-7build2","2.42.2-3","2.42.2-3build1","2.42.2-3build2","2.42.2-3ubuntu0.1~esm1","2.42.2-3ubuntu0.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"graphviz","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_version":"2.42.2-3ubuntu0.1~esm2","binary_name":"libcdt5"},{"binary_name":"libcgraph6","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_version":"2.42.2-3ubuntu0.1~esm2","binary_name":"libgv-guile"},{"binary_name":"libgv-lua","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_name":"libgv-perl","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_name":"libgv-php7","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_name":"libgv-ruby","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_name":"libgv-tcl","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_version":"2.42.2-3ubuntu0.1~esm2","binary_name":"libgvc6"},{"binary_version":"2.42.2-3ubuntu0.1~esm2","binary_name":"libgvc6-plugins-gtk"},{"binary_name":"libgvpr2","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_name":"liblab-gamut1","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_version":"2.42.2-3ubuntu0.1~esm2","binary_name":"libpathplan4"},{"binary_name":"libxdot4","binary_version":"2.42.2-3ubuntu0.1~esm2"},{"binary_name":"python3-gv","binary_version":"2.42.2-3ubuntu0.1~esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:Pro:22.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=esm-apps%2Fjammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.42.2-5","2.42.2-5build1","2.42.2-6","2.42.2-6ubuntu0.1~esm1","2.42.2-6ubuntu0.1","2.42.2-6ubuntu0.1+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"graphviz","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_name":"libcdt5","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_name":"libcgraph6","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_name":"libgv-guile","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_version":"2.42.2-6ubuntu0.1+esm1","binary_name":"libgv-lua"},{"binary_name":"libgv-perl","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_version":"2.42.2-6ubuntu0.1+esm1","binary_name":"libgv-ruby"},{"binary_name":"libgv-tcl","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_name":"libgvc6","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_version":"2.42.2-6ubuntu0.1+esm1","binary_name":"libgvc6-plugins-gtk"},{"binary_version":"2.42.2-6ubuntu0.1+esm1","binary_name":"libgvpr2"},{"binary_name":"liblab-gamut1","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_name":"libpathplan4","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_name":"libxdot4","binary_version":"2.42.2-6ubuntu0.1+esm1"},{"binary_version":"2.42.2-6ubuntu0.1+esm1","binary_name":"python3-gv"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.42.2-7build3","2.42.2-7build4","2.42.2-8build1","2.42.2-9","2.42.2-9build1","2.42.2-9ubuntu0.1"],"ecosystem_specific":{"binaries":[{"binary_name":"graphviz","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libcdt5","binary_version":"2.42.2-9ubuntu0.1"},{"binary_version":"2.42.2-9ubuntu0.1","binary_name":"libcgraph6"},{"binary_name":"libgv-guile","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libgv-lua","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libgv-perl","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libgv-ruby","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libgv-tcl","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libgvc6","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libgvc6-plugins-gtk","binary_version":"2.42.2-9ubuntu0.1"},{"binary_version":"2.42.2-9ubuntu0.1","binary_name":"libgvpr2"},{"binary_name":"liblab-gamut1","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libpathplan4","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"libxdot4","binary_version":"2.42.2-9ubuntu0.1"},{"binary_name":"python3-gv","binary_version":"2.42.2-9ubuntu0.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.42.4-3","2.42.4-3build1","2.42.4-3build2"],"ecosystem_specific":{"binaries":[{"binary_name":"graphviz","binary_version":"2.42.4-3build2"},{"binary_name":"libcdt5","binary_version":"2.42.4-3build2"},{"binary_name":"libcgraph6","binary_version":"2.42.4-3build2"},{"binary_name":"libgv-guile","binary_version":"2.42.4-3build2"},{"binary_name":"libgv-lua","binary_version":"2.42.4-3build2"},{"binary_name":"libgv-perl","binary_version":"2.42.4-3build2"},{"binary_version":"2.42.4-3build2","binary_name":"libgv-ruby"},{"binary_version":"2.42.4-3build2","binary_name":"libgv-tcl"},{"binary_name":"libgvc6","binary_version":"2.42.4-3build2"},{"binary_name":"libgvc6-plugins-gtk","binary_version":"2.42.4-3build2"},{"binary_name":"libgvpr2","binary_version":"2.42.4-3build2"},{"binary_name":"liblab-gamut1","binary_version":"2.42.4-3build2"},{"binary_version":"2.42.4-3build2","binary_name":"libpathplan4"},{"binary_name":"libxdot4","binary_version":"2.42.4-3build2"},{"binary_name":"python3-gv","binary_version":"2.42.4-3build2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}},{"package":{"name":"graphviz","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/graphviz?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.42.4-3build2","14.1.1-1ubuntu1","14.1.1-2ubuntu2","14.1.2-1ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_version":"14.1.2-1ubuntu1","binary_name":"graphviz"},{"binary_name":"graphviz-tools","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libcdt6","binary_version":"14.1.2-1ubuntu1"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libcgraph8"},{"binary_name":"libgv-guile","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libgv-lua","binary_version":"14.1.2-1ubuntu1"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgv-perl"},{"binary_name":"libgv-ruby","binary_version":"14.1.2-1ubuntu1"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgv-tcl"},{"binary_name":"libgvc7","binary_version":"14.1.2-1ubuntu1"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgvplugin-devil8"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgvplugin-gd8"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgvplugin-gs8"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgvplugin-neato-layout8"},{"binary_name":"libgvplugin-pango8","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libgvplugin-poppler8","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libgvplugin-rsvg8","binary_version":"14.1.2-1ubuntu1"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgvplugin-vt100"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libgvplugin-vt8"},{"binary_name":"libgvplugin-webp8","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libgvplugin-xlib8","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libgvpr2","binary_version":"14.1.2-1ubuntu1"},{"binary_name":"libpathplan4","binary_version":"14.1.2-1ubuntu1"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"libxdot4"},{"binary_version":"14.1.2-1ubuntu1","binary_name":"python3-gv"},{"binary_name":"tcl-gv","binary_version":"14.1.2-1ubuntu1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9904.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"},{"type":"Ubuntu","score":"low"}]}