首发于Hello, Flask!

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

附注

编辑于 2018-08-25 12:16