代码执行错误影响Yamale Python包被200多个项目使用

23andMe的Yamale(YAML的模式和验证程序)中发现了一个严重性很高的代码注入漏洞,对手可以利用该漏洞执行任意Python代码
该漏洞被追踪为CVE-2021-38305(CVSS分数:7.8),涉及操作作为工具输入的模式文件,以绕过保护并实现代码执行。特别是,问题存在于模式解析函数中,该函数允许对传递的任何输入进行评估和执行,从而导致模式中精心编制的字符串可能被滥用以注入系统命令
Yamale是一个Python包,允许开发人员验证YAML—;一种数据序列化语言,通常用于编写配置文件—;从命令行。GitHub上至少有224个存储库使用了这个包
“这个漏洞使得攻击者能够提供输入模式文件来执行Python代码注入,从而以Yamale进程的权限执行代码,”JFrog安全首席技术官Asaf Karas在给《黑客新闻》的电子邮件声明中说。“我们建议彻底清理所有进入eval()的输入,最好用任务所需的更具体的API替换eval()调用。”
经过负责任的披露,该问题已在Yamale 3.0.8版中得到纠正。Yamale的维护人员在8月4日发布的发行说明中指出:“本版本修复了一个错误,即格式良好的模式文件可以在运行Yamale的系统上执行任意代码。”
这些发现是JFrog在Python包中发现的一系列安全问题中的最新发现。在2021年6月,VDOO在PyPI存储库中公开了TypQueQuad包,这些包被发现下载并执行第三方密码子,如T-ReX、UBQMnER或PoixxMiNER,用于在受损系统上挖掘EUTUM和UBIQ。
随后,JFrog安全团队又发现了8个恶意Python库,它们被下载了不少于30000次,可用于在目标机器上执行远程代码、收集系统信息、虹吸信用卡信息以及在Chrome和Edge浏览器中自动保存的密码,甚至窃取不和谐的身份验证令牌
“软件包存储库正成为供应链攻击的热门目标,npm、PyPI和RubyGems等热门存储库也遭到了恶意软件攻击,”研究人员说。“有时,恶意软件包被允许上传到软件包存储库,从而使恶意参与者有机会使用存储库分发病毒,并对开发人员和管道中的CI/CD计算机发起成功的攻击。”