关键信息总结 1. 漏洞描述 CVE编号: CVE-2023-33733 漏洞类型: 代码注入漏洞 (Code Injection Vulnerability) 受影响库: ReportLab Python 库 2. 漏洞细节 发现问题场景: 在将 HTML 转换为 PDF 时,通过 ReportLab 库执行代码注入攻击。 已知问题: ReportLab 曾在 2019 年因 属性问题修复,但存在绕过修补的方法。 3. 攻击原理 ReportLab 使用 函数执行代码,添加了名为 的沙盒环境。 尽管存在沙盒限制,仍能通过构建特殊对象(如自定义 类)绕过安全检查,恢复对全局内置函数的访问。 4. 修复与影响 修复方法: 防止对未授权内置函数的访问,增强 的防护机制。 影响范围: 任何使用 ReportLab 的应用程序可能受影响,尤其是处理 HTML 到 PDF 转换的场景。 5. 代码示例 python orgTypeFun = type(type(1)) Word = orgTypeFun('Word', (str,), { 定义规避检测的类 }) 代码绕过 execute via `` eval` 残余问题和沙盒防护的局限性。 7. 其他应用影响 提到 xhtml2pdf 库也存在类似问题,HTML 到 PDF 转换时有风险。 结论 报告深入分析了 CVE-2023-33733 的原理、影响和修复建议,对安全测试和应用防护有重要参考价值。