# CVE-2020-28463: Server-side Request Forgery (SSRF) via img tags in reportlab

Source: https://junglewise.ai/threats/cve-2020-28463-server-side-request-forgery-ssrf-via-img-tags-in-reportlab  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2021-02-18  
License: CC BY 4.0 with a link back

CVE-2020-28463 · Severity: low · CVSS 3.1 · Published 2021-02-18

All versions of package reportlab 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: 1. Download and install the latest package of reportlab 2. Go to demos -> odyssey -> dodyssey 3. In the text file odyssey.txt that needs to be converted to pdf inject <img src="http://127.0.0.1:5000" valign="top"/> 4. Create a nc listener nc -lp 5000 5. Run python3 dodyssey.py 6. You will get a hit on your nc showing we have successfully proceded to send a server side request 7. dodyssey.py will show error since there is no img file on the url, but we are able to do SSRF

Technologies: [reportlab (PyPI)](https://junglewise.ai/threats/technologies/reportlab). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2020-28463 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2020-28463 being exploited in the wild.

**How severe is CVE-2020-28463?** Low severity, with a CVSS score of 3.1, published 18 February 2021.

**Which products and versions are affected?** reportlab (PyPI) ECOSYSTEM:introduced=0,fixed=3.5.55.

**Is there a fix for CVE-2020-28463?** Yes. reportlab (PyPI): upgrade to 3.5.55 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2020-28463?** Check whether you run reportlab (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- reportlab (PyPI): upgrade to 3.5.55 or later

  ```sh
  pip install "reportlab>=3.5.55"
  ```


## Affected products

- reportlab (PyPI) ECOSYSTEM:introduced=0,fixed=3.5.55

## Identifiers

- CVE-2020-28463
- GHSA-mpvw-25mg-59vx
- PYSEC-2021-146

## Related threats

- [PYSEC-2026-1871 - Reportlab vulnerable to remote code execution](https://junglewise.ai/threats/cve-2023-33733-reportlab-vulnerable-to-remote-code-execution)
- [PYSEC-2026-522 - ReportLab vulnerable to remote code execution via paraparser](https://junglewise.ai/threats/cve-2019-19450-reportlab-vulnerable-to-remote-code-execution-via-paraparser)
- [XML Injection in ReportLab](https://junglewise.ai/threats/cve-2019-17626-xml-injection-in-reportlab)
- [PYSEC-2019-47 - ReportLab through 3.5.26 allows remote code execution because of toColor(eval(arg)) in colors.py, as…](https://junglewise.ai/threats/pysec-2019-47-reportlab-through-3-5-26-allows-remote-code-execution-e17ed613)
