{ "data_type": "CVE", "data_format": "MITRE", "data_version": "4.0", "CVE_data_meta": { "ASSIGNER": "report@snyk.io", "DATE_PUBLIC": "2021-02-18T15:59:17.672425Z", "ID": "CVE-2020-28463", "STATE": "PUBLIC", "TITLE": "Server-side Request Forgery (SSRF)" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "reportlab", "version": { "version_data": [ { "version_affected": ">=", "version_value": "0" } ] } } ] }, "vendor_name": "n/a" } ] } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "Server-side Request Forgery (SSRF)" } ] } ] }, "references": { "reference_data": [ { "refsource": "MISC", "url": "https://snyk.io/vuln/SNYK-PYTHON-REPORTLAB-1022145", "name": "https://snyk.io/vuln/SNYK-PYTHON-REPORTLAB-1022145" }, { "refsource": "MISC", "url": "https://www.reportlab.com/docs/reportlab-userguide.pdf", "name": "https://www.reportlab.com/docs/reportlab-userguide.pdf" }, { "refsource": "FEDORA", "name": "FEDORA-2021-13cdc0ab0e", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HMUJA5GZTPQ5WRYUCCK2GEZM4W43N7HH/" }, { "refsource": "FEDORA", "name": "FEDORA-2021-04bfae8300", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YZQSFCID67K6BTC655EQY6MNOF35QI44/" }, { "refsource": "MLIST", "name": "[debian-lts-announce] 20230929 [SECURITY] [DLA 3590-1] python-reportlab security update", "url": "https://lists.debian.org/debian-lts-announce/2023/09/msg00037.html" } ] }, "description": { "description_data": [ { "lang": "eng", "value": "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 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" } ] }, "impact": { "cvss": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N/E:P", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE" } }, "credit": [ { "lang": "eng", "value": "Karan Bamal" } ] }