CVE-2026-33509pyLoad是一个免费开源的Python下载管理器。在0.4.0至0.5.0b3.dev97之前的版本中,存在一个严重的权限提升与远程代码执行漏洞。该漏洞源于`set_config_value()` API端点的设计缺陷,允许仅拥有SETTINGS权限的非管理员用户无限制地修改任意配置选项。攻击者可利用此漏洞修改`reconnect.script`配置项,该配置项直接被传递给`subprocess.run()`执行。通过将其设置为系统中的任意可执行文件路径,攻击者即可在服务器端执行任意恶意代码,完全控制受影响系统。
该漏洞的核心在于pyLoad的API权限校验机制存在逻辑缺陷。在`set_config_value()`函数中,仅对`general.storage_folder`进行了硬编码的安全检查,而对其他关键配置项(如`reconnect.script`)未实施任何白名单或路径限制。当线程管理器执行重连逻辑时,会直接读取`reconnect.script`配置的路径,并将其作为参数传递给Python的`subprocess.run()`函数进行系统调用。攻击者首先需要获取一个具有SETTINGS权限的低权限账户。随后,通过向API端点发送精心构造的请求,将`reconnect.script`的值修改为恶意脚本路径(例如`/tmp/exploit.sh`或系统命令)。由于系统未对路径进行合法性校验,修改后的配置会被立即保存。当触发重连机制或等待自动任务执行时,服务器将以运行pyLoad的权限执行指定的恶意程序,从而实现从低权限用户到系统命令执行的跨越,导致服务器被完全接管。