安全漏洞:通过 ParquetArrayParser 中的 eval() 执行远程代码
作者: Cherno-x创建于 2025年11月11日更新于 2026年7月12日
标签stale-issue
危险性分析
- 未经验证的输入:
shape值直接从 Parquet 文件的元数据中读取,没有任何验证或清洁化处理。 - 直接使用 eval():代码使用 eval() 来解析
shape字符串,这允许执行任意 ZZTERM6ZZ 表达式。 - 用户控制的输入:如果攻击者能够控制 Parquet 文件(例如上传、提供 URL 或修改文件),他们可以将恶意 ZZTERM7ZZ 代码注入到
shape元数据中。 - 没有沙箱化:eval() 在与应用程序相同的上下文中执行,具有完整的权限。
内容来源: dmlc/dgl