ghsa-mpvw-25mg-59vx
Vulnerability from github
Published
2021-03-29 16:32
Modified
2024-10-26 18:34
Severity ?
6.5 (Medium) - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
7.1 (High) - 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
7.1 (High) - 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
Summary
Server-side Request Forgery (SSRF) via img tags in reportlab
Details
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": [ { "package": { "ecosystem": "PyPI", "name": "reportlab" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "3.5.55" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2020-28463" ], "database_specific": { "cwe_ids": [ "CWE-918" ], "github_reviewed": true, "github_reviewed_at": "2021-03-19T22:04:29Z", "nvd_published_at": "2021-02-18T16:15:00Z", "severity": "HIGH" }, "details": "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 \u0026 trustedHosts (see in Reportlab\u0027s documentation) \n\nSteps to reproduce by Karan Bamal: \n1. Download and install the latest package of reportlab \n2. Go to demos -\u003e odyssey -\u003e dodyssey \n3. In the text file odyssey.txt that needs to be converted to pdf inject `\u003cimg src=\"http://127.0.0.1:5000\" valign=\"top\"/\u003e`\n4. Create a nc listener `nc -lp 5000`\n5. Run python3 dodyssey.py \n6. You will get a hit on your nc showing we have successfully proceded to send a server side request \n7. dodyssey.py will show error since there is no img file on the url, but we are able to do SSRF", "id": "GHSA-mpvw-25mg-59vx", "modified": "2024-10-26T18:34:55Z", "published": "2021-03-29T16:32:27Z", "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-28463" }, { "type": "WEB", "url": "https://bugzilla.redhat.com/show_bug.cgi?id=1930417" }, { "type": "ADVISORY", "url": "https://github.com/advisories/GHSA-mpvw-25mg-59vx" }, { "type": "WEB", "url": "https://github.com/pypa/advisory-database/tree/main/vulns/reportlab/PYSEC-2021-146.yaml" }, { "type": "PACKAGE", "url": "https://hg.reportlab.com/hg-public/reportlab" }, { "type": "WEB", "url": "https://hg.reportlab.com/hg-public/reportlab/file/f094d273903a/CHANGES.md#l71" }, { "type": "WEB", "url": "https://hg.reportlab.com/hg-public/reportlab/rev/7f2231703dc7" }, { "type": "WEB", "url": "https://lists.debian.org/debian-lts-announce/2023/09/msg00037.html" }, { "type": "WEB", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HMUJA5GZTPQ5WRYUCCK2GEZM4W43N7HH" }, { "type": "WEB", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YZQSFCID67K6BTC655EQY6MNOF35QI44" }, { "type": "WEB", "url": "https://snyk.io/vuln/SNYK-PYTHON-REPORTLAB-1022145" }, { "type": "WEB", "url": "https://www.reportlab.com/docs/reportlab-userguide.pdf" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "type": "CVSS_V3" }, { "score": "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", "type": "CVSS_V4" } ], "summary": "Server-side Request Forgery (SSRF) via img tags in reportlab" }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.