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 ‘<span color=”‘ followed by arbitrary Python code.
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-17626
- https://access.redhat.com/errata/RHSA-2020:0195
- https://access.redhat.com/errata/RHSA-2020:0197
- https://access.redhat.com/errata/RHSA-2020:0201
- https://access.redhat.com/errata/RHSA-2020:0230
- https://bitbucket.org/rptlab/reportlab/issues/199/eval-in-colorspy-leads-to-remote-code
- https://bitbucket.org/rptlab/reportlab/src/default/CHANGES.md
- https://hg.reportlab.com/hg-public/reportlab/rev/51a521ad7dd3
- https://lists.debian.org/debian-lts-announce/2020/02/msg00019.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NSCTOE3DITFICY2XKBYZ5WAF5TSQ52DM/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZZPHP2BJSTP4IYCSJRQINP763IHO6ASL/
- https://security.gentoo.org/glsa/202007-35
- https://usn.ubuntu.com/4273-1/
- https://www.debian.org/security/2020/dsa-4663
- http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00002.html
- https://access.redhat.com/security/cve/cve-2019-17626
- https://web.archive.org/web/20191016111823/https://bitbucket.org/rptlab/reportlab/issues/199/eval-in-colorspy-leads-to-remote-code
- https://github.com/advisories/GHSA-qpg2-vx7j-3869
- https://github.com/pypa/advisory-database/tree/main/vulns/reportlab/PYSEC-2019-117.yaml