7.5 HIGH
- CVSS version: 3.1
- Attack vector (AV): NETWORK
- Attack complexity (AC): HIGH
- Privileges required (PR): LOW
- User interaction (UI): NONE
- Scope (S): UNCHANGED
- Confidentiality impact (C): HIGH
- Integrity impact (I): HIGH
- Availability impact (A): HIGH
pyload-ng: SETTINGS Permission Users Can Achieve Remote Code Execution via Unrestricted Reconnect Script Configuration
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.
References
-
https://github.com/pyload/pyload/security/advisories/GHSA-r7mc-x6x7-cqxx x_refsource_CONFIRM
Affected products
- ==>= 0.4.0, < 0.5.0b3.dev97
Matching in nixpkgs
pkgs.pyload-ng
Free and open-source download manager with support for 1-click-hosting sites
-
nixos-unstable 0.5.0b3.dev88
- nixpkgs-unstable 0.5.0b3.dev88
- nixos-unstable-small 0.5.0b3.dev88
-
nixos-25.11 0.5.0b3.dev88
- nixos-25.11-small 0.5.0b3.dev88
- nixpkgs-25.11-darwin 0.5.0b3.dev88
pkgs.python312Packages.pyloadapi
Simple wrapper for pyLoad's API
pkgs.python313Packages.pyloadapi
Simple wrapper for pyLoad's API
pkgs.python314Packages.pyloadapi
Simple wrapper for pyLoad's API
pkgs.home-assistant-component-tests.pyload
Open source home automation that puts local control and privacy first
pkgs.tests.home-assistant-component-tests.pyload
Open source home automation that puts local control and privacy first
Package maintainers
-
@mweinelt Martin Weinelt <hexa@darmstadt.ccc.de>
-
@fabaff Fabian Affolter <mail@fabian-affolter.ch>
-
@dotlambda ANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL_1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86 <nix@dotlambda.de>
-
@ruby0b ruby0b