Django Web 框架中可能导致 SQL 替换的漏洞

Django Web 框架 4.0.6 和 3.2.14 的修正版本已发布,修复了一个可能允许您替换 SQL 代码的漏洞 (CVE-2022-34265)。 该问题会影响在传递给 Trunc(kind) 和 Extract(lookup_name) 函数的 kind 和lookup_name 参数中使用未经验证的外部数据的应用程序。 仅允许lookup_name和kind值中经过验证的数据的程序不受该漏洞的影响。

通过禁止在 Extract 和 Trunc 函数的参数中使用字母、数字、“-”、“_”、“(”和“)”以外的字符,解决了该问题。 以前,传输的值中没有删除单引号,这使得可以通过传递诸如“day' FROM start_datetime)) OR 1=1;—”和“year', start_datetime)之类的值来执行SQL构造) 或 1=1;—“. 在下一个版本4.1中,计划进一步加强对日期提取和截断方法的保护,但API的更改将导致与第三方数据库后端的兼容性崩溃。

来源: opennet.ru

添加评论