CVE-2026-41312pypdf是一个广泛使用的开源纯Python PDF库。该库在6.10.2之前的版本中存在一处严重的安全缺陷,允许攻击者通过精心构造的恶意PDF文件触发内存耗尽。具体而言,当解析包含特定/FlateDecode压缩流和异常/Predictor参数的PDF对象时,程序会消耗大量RAM资源,最终导致系统拒绝服务。官方已在6.10.2版本中发布了针对此问题的修复补丁。
该漏洞源于pypdf在处理PDF流数据时的逻辑缺陷,特别是涉及使用/FlateDecode过滤器和非1的/Predictor值的情况。在PDF规范中,Predictor用于优化压缩数据(通常为PNG预测器)。在受影响的pypdf版本中,当解析器遇到一个设置了/Predictor(如值12)且/Columns参数极大的流时,库在尝试解压和预测解码前,未能正确验证该参数的合理性。这导致程序试图基于此巨大的列值分配内存缓冲区,从而瞬间耗尽系统可用内存(OOM)。攻击者无需认证,只需诱导受害者使用易受攻击的库处理特制PDF文件即可触发攻击。