CVE-2020-28463

NameCVE-2020-28463
DescriptionAll 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
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3590-1, ELA-983-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python-reportlab (PTS)jessie, jessie (lts)3.1.8-3+deb8u2vulnerable
stretch (security)3.3.0-2+deb9u1vulnerable
stretch (lts), stretch3.3.0-2+deb9u2fixed
buster3.5.13-1+deb10u1vulnerable
buster (security)3.5.13-1+deb10u2fixed
bullseye3.5.59-2fixed
bookworm3.6.12-1fixed
trixie4.1.0-1fixed
sid4.1.0-4fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
python-reportlabsourcestretch3.3.0-2+deb9u2ELA-983-1
python-reportlabsourcebuster3.5.13-1+deb10u2DLA-3590-1
python-reportlabsource(unstable)3.5.55-1

Notes

[stretch] - python-reportlab <postponed> (Can be fixed in next DLA)
https://snyk.io/vuln/SNYK-PYTHON-REPORTLAB-1022145
Fixed by: https://hg.reportlab.com/hg-public/reportlab/rev/7f2231703dc7
Starting in 3.5.55 trustedSchemes and trustedHosts rl_config variables are introduced
which can be used to mitigate the issue, treating this as the fixed version
[jessie] - python-reportlab <postponed> (Can be fixed in next ELA)

Search for package or bug name: Reporting problems