Ecosyste.ms: Advisories

An open API service providing security vulnerability metadata for many open source software ecosystems.

Security Advisories: GSA_kwCzR0hTQS1nM2NtLXFnMnYtMmhqNc4AA5Ev

pyLoad open redirect vulnerability due to improper validation of the is_safe_url function

Summary

Open redirect vulnerability due to incorrect validation of input values when redirecting users after login.

Details

pyload is validating URLs via the get_redirect_url function when redirecting users at login.
301715649-f533db41-d0bd-44f7-8735-be1887fbd06c

The URL entered in the next variable goes through the is_safe_url function, where a lack of validation can redirect the user to an arbitrary domain.
301715667-2819b1d3-8a14-42f4-89c8-3d2fa84fc309

The documentation in the urllib library shows that improper URLs are recognized as relative paths when using the urlparse function. (https://docs.python.org/3/library/urllib.parse.html#urllib.parse.urlparse)

For example, When an unusual URL like https:///example.com is entered, urlparse interprets it as a relative path, but in the actual request it is converted to https://example.com due to url normalization.

PoC

  1. In the next variable, insert the URL to which you want to redirect the user.
    301715949-bb1451eb-5e84-451d-83b4-5c3e204d1df7

  2. Check that it is possible to bypass url validation and redirect users to an arbitrary url.
    301715824-3de6584a-878d-4ec4-a3d5-a34d11c6c0ac
    301716107-ba5ab7b9-7aa8-4b7a-8924-eba82442b4c3

Impact

An attacker can use this vulnerability to redirect users to malicious websites, which can be used for phishing and similar attacks.

Permalink: https://github.com/advisories/GHSA-g3cm-qg2v-2hj5
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1nM2NtLXFnMnYtMmhqNc4AA5Ev
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Moderate
Classification: General
Published: 25 days ago
Updated: 16 days ago


CVSS Score: 6.1
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Identifiers: GHSA-g3cm-qg2v-2hj5, CVE-2024-24808
References:

Affected Packages

pypi:pyload-ng
Versions: < 0.5.0b3.dev79
Fixed in: 0.5.0b3.dev79