{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": "cpe:2.3:a:pyload:pyload:*:*:*:*:*:*:*:*",
            "extracted_events": [
              {
                "introduced": "0.4"
              },
              {
                "last_affected": "0.4.20"
              }
            ],
            "source": "CPE_RANGE"
          },
          "events": [
            {
              "introduced": "2fc46cf4c29a8f6e54b3de0e67e5b624d15ad89f"
            },
            {
              "last_affected": "1f29cd14d4c3d90d3249d20165a21c2b04ffed26"
            }
          ],
          "repo": "https://github.com/pyload/pyload",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-r7mc-x6x7-cqxx"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-269"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33509.json",
    "unresolved_ranges": [
      {
        "extracted_events": [
          {
            "introduced": "0.4.0"
          },
          {
            "fixed": "0.5.0b3.dev97"
          }
        ],
        "source": "AFFECTED_FIELD"
      },
      {
        "extracted_events": [
          {
            "fixed": "0.5.0b3.dev97"
          }
        ],
        "source": "DESCRIPTION"
      }
    ]
  },
  "details": "pyLoad is a free and open-source download manager written in Python. From version 0.4.0 to before version 0.5.0b3.dev97, the set_config_value() API endpoint allows users with the non-admin SETTINGS permission to modify any configuration option without restriction. The reconnect.script config option controls a file path that is passed directly to subprocess.run() in the thread manager's reconnect logic. A SETTINGS user can set this to any executable file on the system, achieving Remote Code Execution. The only validation in set_config_value() is a hardcoded check for general.storage_folder — all other security-critical settings including reconnect.script are writable without any allowlist or path restriction. This issue has been patched in version 0.5.0b3.dev97.",
  "id": "CVE-2026-33509",
  "modified": "2026-07-15T01:48:51.128839224Z",
  "published": "2026-03-24T18:55:37.033Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33509.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/pyload/pyload/security/advisories/GHSA-r7mc-x6x7-cqxx"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33509"
    }
  ],
  "schema_version": "1.8.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "pyload-ng: SETTINGS Permission Users Can Achieve Remote Code Execution via Unrestricted Reconnect Script Configuration"
}