Skip to content

Server-side Request Forgery (SSRF) via img tags in reportlab

Moderate severity GitHub Reviewed Published Mar 29, 2021 to the GitHub Advisory Database • Updated Nov 6, 2023

Package

pip reportlab (pip)

Affected versions

< 3.5.55

Patched versions

3.5.55

Description

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:

  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

References

Published by the National Vulnerability Database Feb 18, 2021
Reviewed Mar 19, 2021
Published to the GitHub Advisory Database Mar 29, 2021
Last updated Nov 6, 2023

Severity

Moderate
6.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Weaknesses

CVE ID

CVE-2020-28463

GHSA ID

GHSA-mpvw-25mg-59vx
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.