{"id":"CVE-2019-17626","aliases":["DEBIAN-CVE-2019-17626","DLA-2112-1","DSA-4663-1","EUVD-2019-0122","GHSA-qpg2-vx7j-3869","MGASA-2020-0059","OESA-2021-1281","PYSEC-2019-117","RHSA-2020:0195","RHSA-2020:0197","RHSA-2020:0201","RHSA-2020:0230","SUSE-SU-2020:0255-1","SUSE-SU-2020:0324-1","UBUNTU-CVE-2019-17626","USN-4273-1","openSUSE-SU-2020:0160-1","openSUSE-SU-2024:11265-1","openSUSE-SU-2024:14160-1","openSUSE-SU-2026:12037-1"],"status":"published","title":"XML Injection in ReportLab","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.09526,"percentile":0.95488,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-91"],"published":"2019-10-16T11:29:38Z","modified":"2026-10-05T10:26:50Z","fixes":[{"ecosystem":"PyPI","package":"reportlab","fixed_in":["3.5.28"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"python-reportlab","fixed_in":["3.5.34-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"python-reportlab","fixed_in":["3.5.34-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"python-reportlab","fixed_in":["3.5.34-1"],"sources":["osv"]},{"ecosystem":"Debian:8","package":"python-reportlab","fixed_in":["3.1.8-3+deb8u2"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"python-reportlab","fixed_in":["3.3.0-2+deb9u1"],"sources":["osv"]},{"ecosystem":"Debian:10","package":"python-reportlab","fixed_in":["3.5.13-1+deb10u1"],"sources":["osv"]},{"ecosystem":"Mageia:7","package":"python-reportlab","fixed_in":["3.5.34-1.mga7"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"python-reportlab","fixed_in":["3.4.0-13.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP2","package":"python-reportlab","fixed_in":["3.4.0-13.oe1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::client","package":"python-reportlab","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::client","package":"python-reportlab-debuginfo","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::client","package":"python-reportlab-docs","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::server","package":"python-reportlab","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::server","package":"python-reportlab-debuginfo","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::server","package":"python-reportlab-docs","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"python-reportlab","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"python-reportlab-debuginfo","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"python-reportlab-docs","fixed_in":["0:2.5-9.el7_7.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::client","package":"python-reportlab","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::client","package":"python-reportlab-debuginfo","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::client","package":"python-reportlab-docs","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::server","package":"python-reportlab","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::server","package":"python-reportlab-debuginfo","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::server","package":"python-reportlab-docs","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::workstation","package":"python-reportlab","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::workstation","package":"python-reportlab-debuginfo","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:6::workstation","package":"python-reportlab-docs","fixed_in":["0:2.3-3.el6_10.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python-reportlab","fixed_in":["0:3.4.0-6.el8_1.2"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python-reportlab-debugsource","fixed_in":["0:3.4.0-6.el8_1.2"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-reportlab","fixed_in":["0:3.4.0-6.el8_1.2"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-reportlab-debuginfo","fixed_in":["0:3.4.0-6.el8_1.2"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python-reportlab","fixed_in":["0:3.4.0-6.el8_0.2"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python-reportlab-debugsource","fixed_in":["0:3.4.0-6.el8_0.2"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python3-reportlab","fixed_in":["0:3.4.0-6.el8_0.2"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python3-reportlab-debuginfo","fixed_in":["0:3.4.0-6.el8_0.2"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Workstation Extension 12 SP4","package":"python-reportlab","fixed_in":["2.7-3.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Workstation Extension 12 SP5","package":"python-reportlab","fixed_in":["2.7-3.3.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"python-reportlab","fixed_in":["3.3.0-1ubuntu0.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"python-reportlab","fixed_in":["3.4.0-3ubuntu0.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.1","package":"python-reportlab","fixed_in":["3.4.0-lp151.3.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"python-reportlab","fixed_in":["4.0.7-1.3","4.5.1-1.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.28"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.34-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.34-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.34-1"}]}]},{"source":"osv","ecosystem":"Debian:8","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.8-3+deb8u2"}]}],"versions":["3.1.8-3","3.1.8-3+deb8u1"]},{"source":"osv","ecosystem":"Debian:9","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.3.0-2+deb9u1"}]}],"versions":["3.3.0-2"]},{"source":"osv","ecosystem":"Debian:10","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.13-1+deb10u1"}]}],"versions":["3.5.13-1"]},{"source":"osv","ecosystem":"PyPI","package":"reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.28"}]}],"versions":["2.0","2.3","2.4","2.5","2.6","2.7","3.0","3.1.44","3.1.8","3.2.0","3.3.0","3.4.0","3.5.0","3.5.1","3.5.10","3.5.11","3.5.12","3.5.13","3.5.16","3.5.17","3.5.18","3.5.19","3.5.2","3.5.20","3.5.21","3.5.23","3.5.26","3.5.4","3.5.5","3.5.6","3.5.8","3.5.9"]},{"source":"osv","ecosystem":"Mageia:7","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.34-1.mga7"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.0-13.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP2","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.0-13.oe1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.28"}]}],"versions":["2.0","2.3","2.4","2.5","2.6","2.7","3.0","3.1.8","3.1.44","3.2.0","3.3.0","3.4.0","3.5.0","3.5.1","3.5.2","3.5.4","3.5.5","3.5.6","3.5.8","3.5.9","3.5.10","3.5.11","3.5.12","3.5.13","3.5.16","3.5.17","3.5.18","3.5.19","3.5.20","3.5.21","3.5.23","3.5.26"]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::client","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::client","package":"python-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::client","package":"python-reportlab-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::server","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::server","package":"python-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::server","package":"python-reportlab-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"python-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"python-reportlab-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.5-9.el7_7.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::client","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::client","package":"python-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::client","package":"python-reportlab-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::server","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::server","package":"python-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::server","package":"python-reportlab-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::workstation","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::workstation","package":"python-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:6::workstation","package":"python-reportlab-docs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.3-3.el6_10.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_1.2"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python-reportlab-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_1.2"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_1.2"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_1.2"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_0.2"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python-reportlab-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_0.2"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python3-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_0.2"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_e4s:8.0::appstream","package":"python3-reportlab-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.4.0-6.el8_0.2"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Workstation Extension 12 SP4","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7-3.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Workstation Extension 12 SP5","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7-3.3.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.3.0-1ubuntu0.1"}]}],"versions":["3.2.0-1build1","3.2.0-1build2","3.3.0-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.0-3ubuntu0.1"}]}],"versions":["3.4.0-3build1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.3.0-1ubuntu0.1"}]}],"versions":["3.2.0-1build1","3.2.0-1build2","3.3.0-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.0-3ubuntu0.1"}]}],"versions":["3.4.0-3build1"]},{"source":"osv","ecosystem":"openSUSE:Leap 15.1","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.0-lp151.3.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.7-1.3"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-reportlab","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.1-1.2"}]}]}],"products":[{"vendor":"reportlab","product":"reportlab"}],"references":[{"url":"https://bitbucket.org/rptlab/reportlab/issues/199/eval-in-colorspy-leads-to-remote-code","tags":["x_transferred","Exploit","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://bitbucket.org/rptlab/reportlab/src/default/CHANGES.md","tags":["x_transferred","Release Notes","Third Party Advisory","advisory","web","report"]},{"url":"https://access.redhat.com/errata/RHSA-2020:0197","tags":["vendor-advisory","x_transferred","advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2020:0195","tags":["vendor-advisory","x_transferred","advisory","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZZPHP2BJSTP4IYCSJRQINP763IHO6ASL/","tags":["vendor-advisory","x_transferred","web"]},{"url":"https://access.redhat.com/errata/RHSA-2020:0230","tags":["vendor-advisory","x_transferred","advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2020:0201","tags":["vendor-advisory","x_transferred","advisory","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NSCTOE3DITFICY2XKBYZ5WAF5TSQ52DM/","tags":["vendor-advisory","x_transferred","web"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00002.html","tags":["vendor-advisory","x_transferred","web"]},{"url":"https://usn.ubuntu.com/4273-1/","tags":["vendor-advisory","x_transferred","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/02/msg00019.html","tags":["mailing-list","x_transferred","web"]},{"url":"https://www.debian.org/security/2020/dsa-4663","tags":["vendor-advisory","x_transferred","advisory","web"]},{"url":"https://security.gentoo.org/glsa/202007-35","tags":["vendor-advisory","x_transferred","advisory","web"]},{"url":"https://security.netapp.com/advisory/ntap-20240719-0006/","tags":["x_transferred","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-17626","tags":["advisory"]},{"url":"https://hg.reportlab.com/hg-public/reportlab/rev/51a521ad7dd3","tags":["web"]},{"url":"https://access.redhat.com/security/cve/cve-2019-17626","tags":["web"]},{"url":"https://web.archive.org/web/20191016111823/https://bitbucket.org/rptlab/reportlab/issues/199/eval-in-colorspy-leads-to-remote-code","tags":["web"]},{"url":"https://github.com/advisories/GHSA-qpg2-vx7j-3869","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/reportlab/PYSEC-2019-117.yaml","tags":["web"]},{"url":"https://usn.ubuntu.com/4273-1","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20240719-0006","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZZPHP2BJSTP4IYCSJRQINP763IHO6ASL","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NSCTOE3DITFICY2XKBYZ5WAF5TSQ52DM","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZZPHP2BJSTP4IYCSJRQINP763IHO6ASL","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NSCTOE3DITFICY2XKBYZ5WAF5TSQ52DM","tags":["web"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2019-17626","tags":["advisory"]},{"url":"https://github.com/MrBitBucket/reportlab-mirror","tags":["package"]},{"url":"https://advisories.mageia.org/MGASA-2020-0059.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=26115","tags":["report"]},{"url":"https://openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1281","tags":["advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZZPHP2BJSTP4IYCSJRQINP763IHO6ASL/","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NSCTOE3DITFICY2XKBYZ5WAF5TSQ52DM/","tags":["web"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1769661","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_0195.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2019-17626","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-17626","tags":["advisory","report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_0197.json","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_0201.json","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_0230.json","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20200255-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1154370","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2019-17626","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2020/suse-su-20200324-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2019-17626","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-4273-1","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/P6DNCEK2CMM7NMTN5U5RG4TX5UEQWO23/","tags":["advisory"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2019-17626","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T11:29:38Z","modified":"2024-08-05T01:47:13.237Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-91"],"updated_at":"2026-11-02T14:20:24.678649Z"}],"euvd":[{"id":"EUVD-2019-0122","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T11:29:38Z","modified":"2024-08-05T01:47:13Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-03T02:40:29.306082Z"}],"ghsa":[{"id":"GHSA-qpg2-vx7j-3869","title":"XML Injection in ReportLab","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2022-05-24T22:00:57Z","modified":"2024-10-26T22:32:16Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-91"],"updated_at":"2026-11-02T14:38:13.90937Z"}],"nvd":[{"id":"CVE-2019-17626","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T12:15:12.01Z","modified":"2026-06-17T02:24:17.953Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-91"],"updated_at":"2026-11-02T14:05:31.860711Z"}],"osv":[{"id":"CVE-2019-17626","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T12:15:12.01Z","modified":"2026-10-05T10:26:50.04286307Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:11.673963Z"},{"id":"DEBIAN-CVE-2019-17626","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T12:15:12.01Z","modified":"2026-09-21T07:01:15.675899014Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:31.867036Z"},{"id":"GHSA-qpg2-vx7j-3869","title":"XML Injection in ReportLab","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2022-05-24T22:00:57Z","modified":"2024-10-26T22:51:54.343575Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-91"],"updated_at":"2026-11-02T15:46:54.760124Z"},{"id":"OESA-2021-1281","title":"python-reportlab security update","description":"The ReportLab Toolkit. An Open Source Python library for generating PDFs and graphics.\r\n\r\nSecurity Fix(es):\r\n\r\nReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with \u0026apos;\u0026lt;span color=\u0026quot;\u0026apos; followed by arbitrary Python code.(CVE-2019-17626)","status":"published","published":"2021-07-27T11:04:31Z","modified":"2026-08-18T01:15:50.066215153Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:38.987987Z"},{"id":"RHSA-2020:0195","title":"Red Hat Security Advisory: python-reportlab security update","status":"published","published":"2024-09-14T00:39:43Z","modified":"2026-06-29T10:28:31Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:53:06.535721Z"},{"id":"RHSA-2020:0197","title":"Red Hat Security Advisory: python-reportlab security update","status":"published","published":"2024-09-14T00:39:36Z","modified":"2026-06-29T10:28:32Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:53:06.535721Z"},{"id":"RHSA-2020:0201","title":"Red Hat Security Advisory: python-reportlab security update","status":"published","published":"2024-09-14T00:39:50Z","modified":"2026-06-29T10:28:33Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:53:06.535721Z"},{"id":"RHSA-2020:0230","title":"Red Hat Security Advisory: python-reportlab security update","status":"published","published":"2024-09-14T00:39:59Z","modified":"2026-06-29T10:28:36Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:53:06.535721Z"},{"id":"UBUNTU-CVE-2019-17626","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T12:15:00Z","modified":"2026-02-04T03:11:39.792302Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:20.325378Z"},{"id":"DLA-2112-1","title":"python-reportlab - security update","status":"published","published":"2020-02-20T00:00:00Z","modified":"2026-03-09T01:21:03.134932Z","updated_at":"2026-11-02T15:46:10.227108Z"},{"id":"DSA-4663-1","title":"python-reportlab - security update","status":"published","published":"2020-04-25T00:00:00Z","modified":"2026-03-09T02:08:38.603381Z","updated_at":"2026-11-02T15:46:17.19998Z"},{"id":"MGASA-2020-0059","title":"Updated python-reportlab packages fix security vulnerability","description":"A code injection vulnerability in python-reportlab allows an attacker to\nexecute code while parsing a color attribute. An application that uses\npython-reportlab to parse untrusted input files may be vulnerable to\nthis flaw and allow remote code execution (CVE-2019-17626).\n","status":"published","published":"2020-01-28T07:52:40Z","modified":"2026-04-16T04:41:49.087196134Z","updated_at":"2026-11-02T15:49:41.151324Z"},{"id":"openSUSE-SU-2020:0160-1","title":"Security update for python-reportlab","description":"This update for python-reportlab fixes the following issues:\n\n- CVE-2019-17626: Fixed a potential remote code execution because of the lack of input sanitization in toColor() (bsc#1154370).\n\nThis update was imported from the SUSE:SLE-15:Update update project.","status":"published","published":"2020-02-04T09:13:30Z","modified":"2026-02-04T04:10:41.659693Z","updated_at":"2026-11-02T16:58:31.152112Z"},{"id":"openSUSE-SU-2024:11265-1","title":"python36-reportlab-3.5.59-2.6 on GA media","description":"These are all security issues fixed in the python36-reportlab-3.5.59-2.6 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:16:19.252765Z","updated_at":"2026-11-02T16:58:34.894275Z"},{"id":"openSUSE-SU-2024:14160-1","title":"python310-reportlab-4.0.7-1.3 on GA media","description":"These are all security issues fixed in the python310-reportlab-4.0.7-1.3 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-07-12T00:00:00Z","modified":"2026-02-04T02:46:09.130094Z","updated_at":"2026-11-02T16:58:36.662953Z"},{"id":"openSUSE-SU-2026:12037-1","title":"python313-reportlab-4.5.1-1.2 on GA media","description":"These are all security issues fixed in the python313-reportlab-4.5.1-1.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-04T00:00:00Z","modified":"2026-10-05T10:15:56.788646999Z","updated_at":"2026-11-02T16:58:40.245664Z"},{"id":"PYSEC-2019-117","description":"ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as demonstrated by a crafted XML document with '\u003cspan color=\"' followed by arbitrary Python code.","status":"published","published":"2019-10-16T12:15:00Z","modified":"2023-11-08T04:01:25.230567Z","updated_at":"2026-11-02T15:52:52.192131Z"},{"id":"SUSE-SU-2020:0255-1","title":"Security update for python-reportlab","description":"This update for python-reportlab fixes the following issues:\n\n- CVE-2019-17626: Fixed a potential remote code execution because of the lack of input sanitization in toColor() (bsc#1154370).\n","status":"published","published":"2020-01-29T08:04:23Z","modified":"2025-05-02T04:09:03.5085Z","updated_at":"2026-11-02T15:53:47.06185Z"},{"id":"SUSE-SU-2020:0324-1","title":"Security update for python-reportlab","description":"This update for python-reportlab fixes the following issues:\n\n- CVE-2019-17626: Fixed a potential remote code execution because of the lack of input sanitization in toColor() (bsc#1154370).\n","status":"published","published":"2020-02-05T09:45:38Z","modified":"2026-02-04T03:29:47.725747Z","updated_at":"2026-11-02T15:53:47.06185Z"},{"id":"USN-4273-1","title":"python-reportlab vulnerability","description":"It was discovered that ReportLab incorrectly handled certain XML documents.\nIf a user or automated system were tricked into processing a specially\ncrafted document, a remote attacker could possibly use this issue to\nexecute arbitrary code.\n","status":"published","published":"2020-02-06T18:44:31Z","modified":"2026-02-10T04:41:46Z","updated_at":"2026-11-02T16:58:14.547547Z"}]}}
