GHSA-mpvw-25mg-59vx

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

At a glance

Published
Updated
CVE
CVE-2020-28463
Aliases
PYSEC-2021-146, SNYK-PYTHON-REPORTLAB-1022145
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CVSS_V4
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

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

Affected packages

PackageVersions
PyPI · reportlabintroduced 0, fixed 3.5.55

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database