CVE-2026-42301pyp2spec是一个能够为Python项目自动生成Fedora RPM spec文件的工具。在版本0.14.1之前,该软件在处理PyPI包的元数据(例如Summary字段)时存在安全缺陷,未能对这些数据中的RPM宏指令进行转义。当用户基于受影响的pyp2spec版本生成的spec文件运行rpmbuild构建RPM包时,这些恶意的宏指令将被RPM解析器执行。这允许攻击者通过上传包含恶意元数据的Python包,在受害者的构建机器上执行任意系统命令,从而完全控制构建环境。
该漏洞属于供应链攻击范畴,其技术原理在于pyp2spec未对输入进行严格的清理和转义。RPM spec文件支持使用宏(以%开头)来定义变量或执行脚本。当pyp2spec从PyPI拉取包信息并写入spec文件时,它直接复制了Summary等字段的原始内容。由于缺乏过滤,攻击者可以在这些字段中注入恶意的RPM宏(例如`%{sh:command}`)。一旦受害者执行rpmbuild,RPM处理器就会解析这些宏并调用系统shell执行命令。根据CVSS 3.1向量分析,攻击需要本地访问权限(AV:L),但不需要权限(PR:N)且需要用户交互(UI:R,即用户执行构建操作),这通常发生在开发者无意中打包了恶意上游包时。