Flask 0.12.2版本发现安全漏洞,请考虑升级

因为Flask-CKEditor的示例程序目录下包含一个旧的requirements.txt文件,其中Flask版本被固定为0.12.2,推动代码到GitHub时,触发了内置的依赖安全提示,进而了解了一下这个关于Flask 0.12.2版本的漏洞。

漏洞描述

这个漏洞(CVE-2018-1000656)四天前(8月20号)被发布在NVD(National Vulnerability Database,国家漏洞数据库)上,漏洞描述如下:
The Pallets Project flask version Before 0.12.3 contains a CWE-20: Improper Input Validation vulnerability in flask that can result in Large amount of memory usage possibly leading to denial of service. This attack appear to be exploitable via Attacker provides JSON data in incorrect encoding. This vulnerability appears to have been fixed in 0.12.3.
大致的翻译如下:
Pallets项目组开发的Flask 0.12.3及以下版本包含CWE-20类型的漏洞:不合适的输入验证漏洞。这个漏洞将会导致大量内存占用,可能会导致拒绝服务。攻击者可以通过提供使用了错误编码的JSON数据来进行攻击。这个漏洞已经在0.12.3版本中修复(#2691)。

应对措施

对于这个漏洞,你可以通过升级来进行防范。如果你打算使用最新版本(Flask 1.0.2),可以使用下面的命令更新(参见这篇文章了解Flask 1.0版本包含哪些主要变化):
$ pip install -U flask
如果你使用Pipenv,则可以使用下面的命令:
$ pipenv update flask
如果你还没有准备好使用最新版本,可以升级到0.12.3版本
$ pip install flask==0.12.3
然后更新requirements.txt:
flask ~> 0.12.3
如果使用Pipenv,则使用下面的命令:
$ pipenv install flask==0.12.3

附注

撰写评论

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