CVE-2026-48737
CVE-2026-48737 · pyLoad: SSRF guard bypass via IPv6 6to4/NAT64 transition wrappers of internal IPs
Diese Seite enthält Fakten aus öffentlichen Sicherheitsquellen. Lesen Sie vor dem Aktualisieren die Originalmeldung.
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev101, is_global_address in src/pyload/core/utils/web/check.py relies on Python's global-address classification without examining IPv4 destinations embedded in 6to4 or NAT64 IPv6 addresses. A low-privileged user can submit an IPv6 literal through parse_urls to the pre-resolution is_global_host guard. Because host_to_ip is pinned to AF_INET, that guard does not evaluate a hostname's AAAA result. Separately, curl resolves hostnames before the pycurl PREREQFUNC in src/pyload/core/network/http/http_request.py applies the same vulnerable is_global_address check to the actual connection address, so a transition-form AAAA result can be permitted even when it terminates at an embedded loopback, private, CGNAT, or link-local IPv4 address. Exploitation requires the pyLoad host to route the applicable transition mechanism, including 6to4 on affected Python 3.9 through 3.11 deployments or NAT64 on a network with a NAT64 gateway. Successful exploitation can enable internal-network reconnaissance, timing-based confirmation, limited service disruption, or cloud metadata disclosure where the wrapped address is routable. This issue is fixed in version 0.5.0b3.dev101.
CVSS 4.9 · Mittel · EPSS 0,3%
- Veröffentlicht
- Aktualisiert
Technologie-Stack: python
Betroffene Produkte und Versionen
pyload
- Softwareversionen
- < 0.5.0b3.dev101: Betroffen
Keine Korrektur veröffentlicht
pyload-ng PyPI
- Softwareversionen
- 0.5.0a5.dev528
- 0.5.0a5.dev532
- 0.5.0a5.dev535
- 0.5.0a5.dev536
- 0.5.0a5.dev537
- 0.5.0a5.dev539
- 0.5.0a5.dev540
- 0.5.0a5.dev545
- 0.5.0a5.dev562
- 0.5.0a5.dev564
- 0.5.0a5.dev565
- 0.5.0a6.dev570
- 0.5.0a6.dev578
- 0.5.0a6.dev587
- 0.5.0a7.dev596
- 0.5.0a8.dev602
- 0.5.0a9.dev615
- 0.5.0a9.dev629
- 0.5.0a9.dev632
- 0.5.0a9.dev641
- 0.5.0a9.dev643
- 0.5.0a9.dev655
- 0.5.0a9.dev806
- 0.5.0b1.dev1
- 0.5.0b1.dev2
- 0.5.0b1.dev3
- 0.5.0b1.dev4
- 0.5.0b1.dev5
- 0.5.0b2.dev10
- 0.5.0b2.dev11
- 0.5.0b2.dev12
- 0.5.0b2.dev9
- 0.5.0b3.dev100
- 0.5.0b3.dev13
- 0.5.0b3.dev14
- 0.5.0b3.dev17
- 0.5.0b3.dev18
- 0.5.0b3.dev19
- 0.5.0b3.dev20
- 0.5.0b3.dev21
- 0.5.0b3.dev22
- 0.5.0b3.dev24
- 0.5.0b3.dev26
- 0.5.0b3.dev27
- 0.5.0b3.dev28
- 0.5.0b3.dev29
- 0.5.0b3.dev30
- 0.5.0b3.dev31
- 0.5.0b3.dev32
- 0.5.0b3.dev33
- 0.5.0b3.dev34
- 0.5.0b3.dev35
- 0.5.0b3.dev38
- 0.5.0b3.dev39
- 0.5.0b3.dev40
- 0.5.0b3.dev41
- 0.5.0b3.dev42
- 0.5.0b3.dev43
- 0.5.0b3.dev44
- 0.5.0b3.dev45
- 0.5.0b3.dev46
- 0.5.0b3.dev47
- 0.5.0b3.dev48
- 0.5.0b3.dev49
- 0.5.0b3.dev50
- 0.5.0b3.dev51
- 0.5.0b3.dev52
- 0.5.0b3.dev53
- 0.5.0b3.dev54
- 0.5.0b3.dev57
- 0.5.0b3.dev60
- 0.5.0b3.dev62
- 0.5.0b3.dev64
- 0.5.0b3.dev65
- 0.5.0b3.dev66
- 0.5.0b3.dev67
- 0.5.0b3.dev68
- 0.5.0b3.dev69
- 0.5.0b3.dev70
- 0.5.0b3.dev71
- 0.5.0b3.dev72
- 0.5.0b3.dev73
- 0.5.0b3.dev74
- 0.5.0b3.dev75
- 0.5.0b3.dev76
- 0.5.0b3.dev77
- 0.5.0b3.dev78
- 0.5.0b3.dev79
- 0.5.0b3.dev80
- 0.5.0b3.dev81
- 0.5.0b3.dev82
- 0.5.0b3.dev85
- 0.5.0b3.dev87
- 0.5.0b3.dev88
- 0.5.0b3.dev89
- 0.5.0b3.dev90
- 0.5.0b3.dev91
- 0.5.0b3.dev92
- 0.5.0b3.dev93
- 0.5.0b3.dev94
- 0.5.0b3.dev95
- 0.5.0b3.dev96
- 0.5.0b3.dev97
- 0.5.0b3.dev98
- 0.5.0b3.dev99
- Betroffene Versionsbereiche
- ECOSYSTEM: ≤ 0.5.0b3.dev100
Keine Korrektur veröffentlicht