---
title: "Django 3.1.12 版本发行说明"
version: 5.1
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/5.1/releases/3.1.12/
canonical: https://djangodocs.dev/zh-hans/5.1/releases/3.1.12/
---
# Django 3.1.12 版本发行说明

*2021 年 6 月 2 日*

Django 3.1.12 修复了 3.1.11 中的两个安全问题。

## CVE-2021-33203：通过 `admindocs` 进行潜在的目录遍历

工作人员可以使用 [`admindocs`](/zh-hans/5.1/ref/contrib/admin/admindocs/#module-django.contrib.admindocs) `TemplateDetailView` 视图来检查任意文件的存在。此外，如果（也只有在）默认的管理文档模板被开发者自定义为暴露文件内容，那么不仅是文件的存在，文件内容也会被暴露。

作为一种缓解措施，现在应用了路径净化，只有模板根目录下的文件可以被加载。

## CVE-2021-33571：由于验证器接受 IPv4 地址中的前导零，可能会出现不确定的 SSRF、RFI 和 LFI 攻击

[`URLValidator`](/zh-hans/5.1/ref/validators/#django.core.validators.URLValidator)、[`validate_ipv4_address()`](/zh-hans/5.1/ref/validators/#django.core.validators.validate_ipv4_address) 和 [`validate_ipv46_address()`](/zh-hans/5.1/ref/validators/#django.core.validators.validate_ipv46_address) 没有禁止八进制字的前导零。如果你使用这样的值，你可能遭受不确定的 SSRF、RFI 和 LFI 攻击。

[`validate_ipv4_address()`](/zh-hans/5.1/ref/validators/#django.core.validators.validate_ipv4_address) 和 [`validate_ipv46_address()`](/zh-hans/5.1/ref/validators/#django.core.validators.validate_ipv46_address) 验证器在 Python 3.9.5+ 上不受影响。
