CVE-2026-40030parseusbs是一款用于解析USB存储设备的工具。在1.9版本之前,该软件存在严重的操作系统命令注入漏洞。漏洞的具体原因在于程序在处理命令行参数,特别是卷列表路径参数(即-v标志)时,缺乏必要的安全过滤机制。程序直接将用户提供的参数拼接到`os.popen()`函数调用的字符串中,并随后执行`ls`命令。这种不安全的编程方式允许攻击者通过构造包含Shell元字符(如分号、管道符等)的恶意路径参数,在应用程序枚举卷内容的过程中注入并执行任意的操作系统命令。由于该漏洞的CVSS评分为7.8,属于高危级别,且可能对系统的机密性、完整性和可用性造成全面影响,因此需要引起高度重视。
该漏洞的核心在于Python代码中不当使用了`os.popen()`函数来执行系统命令。在受影响的parseusbs版本中,当用户指定`-v`参数来列出特定卷的内容时,应用程序会将该参数的值直接传递给Shell环境。由于没有对输入参数进行清洗或使用安全的参数化执行方式(如`subprocess`模块并设置`shell=False`),攻击者可以在输入中插入Shell控制字符。例如,攻击者可以构造形如`/valid/path; rm -rf /; #`的参数。当程序执行`os.popen('ls ' + input)`时,Shell会解释分号为命令分隔符,从而在列出目录后执行删除命令。攻击向量为本地(AV:L),且需要用户交互(UI:R),通常意味着攻击者需要诱骗用户在目标机器上运行包含恶意参数的命令。一旦利用成功,攻击者即可继承运行parseusbs的用户权限,执行任意代码,进而控制整个系统。