【安全通告】Django SQL 注入漏洞 - CVE-2020-7471

  • 内容
  • 相关

Image


0x01漏洞描述

Django 是 Django 基金会的一套基于 Python 语言的开源 Web 应用框架。该框架包括面向对象的映射器、视图系统、模板系统等。 
近日,Django 官方发布安全通告公布了一个通过 StringAgg(分隔符)实现利用的潜在 SQL 注入漏洞。

攻击者可通过构造分隔符传递给聚合函数 contrib.postgres.aggregates.S tringAgg,从而绕过转义并注入恶意 SQL 语句。 

相关用户可通过版本检测的方法判断当前应用是否存在风险。

在命令行输入 python, 然后在 Python 提示符下输入下列命令,可查看当前 Django 版本信息。

若 Django 版本在 受影响范围内,且使用的数据库为 PostgreSQL,则存在此漏洞的安全风险。 

import django 
django.get_version() 

或者,此漏洞是由于聚合函数 StringAgg 导致,若 Django 版本在受影响范围内,且使用了该聚合函数,则可能存在安全风险。开发人员可自行排查是否使用了下列函数。Strin gAgg 函数,是 PostgreSQL 数据库中将表达式变成字符串的聚合函数,可实现多行拼接,应用广泛。 

django.contrib.postgres.aggregates.StringAgg。

0x02漏洞编号

CVE-2020-7471

0x03漏洞等级

严重

0x04影响范围

Django 1.11.x < 1.11.28 
Django 2.2.x < 2.2.10 
Django 3.0.x < 3.0.3 
Django 主开发分支 

0x05漏洞验证

暂无poc/exp

0x06修复建议

Django 官方已经发布新版本修复了上述漏洞,请受影响的用户尽快升级进行防护。 
Django 1.11.28 下载地址:https://www.djangoproject.com/m/releases/1.11/Django-1.11.28.tar.gz 
Django 2.2.10 下载地址:https://www.djangoproject.com/m/releases/2.2/Django -2.2.10.tar.gz 
Django 3.0.3 下载地址:https://www.djangoproject.com/m/releases/3.0/Django- 3.0.3.tar.gz 

若使用 pip 安装 Django,可通过 --upgrade 或 -U 来实现此操作: 

$ pip install -U Django 

版本更新操作可参考下列链接: 
https://docs.djangoproject.com/zh-hans/2.2/howto/upgrade-version 


本文标签:

版权声明:若无特殊注明,本文皆为《舜哥哥吖》原创,转载请保留文章出处。

本文链接:【安全通告】Django SQL 注入漏洞 - CVE-2020-7471 - https://www.shungg.cn/post/272

发表评论

电子邮件地址不会被公开。 必填项已用*标注