Django的开发团队致力于负责地报告和披露与安全相关的问题。因此,我们采用并遵循了一套符合这种理想的策略,以便及时向Django的官方发行版和第三方发行版发布安全更新。
简而言之:请通过电子邮件security@djangoproject.com报告安全问题。
Django 中的大多数普通错误都会报告到 我们的公共 Trac 实例,但由于安全问题的敏感性质,我们要求不要以这种方式公开报告它们。
相反,如果您认为在 Django 中发现了具有安全影响的问题,请通过电子邮件发送问题描述至 security@djangoproject.com
。发送到该地址的邮件将会传达给 安全团队。
一旦您通过电子邮件提交了问题,您应该会在48小时内收到来自安全团队成员的确认,并根据需要采取的行动,您可能会收到进一步的后续电子邮件。
发送加密报告
如果您想发送加密邮件(可选),security@djangoproject.com
的公钥 ID 是 0xfcb84b8d1d17f80b
,并且这个公钥可以从大多数常用的密钥服务器获取。
Django团队在任何时候都会为几个版本的Django提供官方安全支持。
当出于安全原因发布新版本时,附带的通知将包括受影响的版本列表。此列表仅包含*支持*的Django版本:旧版本也可能受到影响,但我们不会调查这一点,也不会为这些版本发布补丁或新版本。
我们将一个安全问题从私下讨论到公开披露的过程涉及多个步骤。
在公开披露前大约一周,我们会发送两个通知:
首先,我们会通知 django-announce 关于即将发布的安全更新的日期和大致时间,以及问题的严重性。这是为了帮助需要确保他们有足够人员来处理我们的公告并根据需要升级 Django 的组织。严重性级别包括:
高:
中等:
低:
其次,我们会通知一份 个人和组织名单,主要由操作系统供应商和其他 Django 分发商组成。此电子邮件由 Django 发布团队 的某人使用 PGP 密钥签名,内容包括:
在披露当天,我们将采取以下步骤:
如果认为报告的问题特别紧急——例如,由于已知有野外利用,提前通知和公开披露之间的时间可能会大大缩短。
此外,如果我们有理由相信报告给我们的问题影响了 Python/web 生态系统中的其他框架或工具,我们可能会与适当的维护者私下联系并讨论这些问题,并协调我们自己的披露和解决方案与他们的一起进行。
Django 团队还维护着一个 Django 中披露的安全问题的档案。
接收安全问题提前通知的个人和组织的完整名单不会被公开。
我们还希望将这个列表尽可能保持较小的规模,以更好地管理披露前的机密信息流动。因此,我们的通知列表并不仅仅是 Django 用户的列表,成为 Django 用户并不足以理由放置在通知列表上。
广义上来说,安全通知的接收者分为三类:
安全审计和扫描实体
作为政策,我们不会将这些类型的实体添加到通知列表中。
如果您认为自己或您有授权代表的组织属于上述任何一组,您可以通过发送电子邮件至 security@djangoproject.com
来请求加入 Django 的通知列表。请在主题行中使用 "Security notification request"。
您的请求**必须**包含以下信息:
提交后,您的请求将由 Django 开发团队考虑;您将在30天内收到回复,通知您请求的结果。
请您也要记住,对于任何个人或组织来说,接收安全通知是由 Django 开发团队完全自行决定的特权,而且这个特权可以在任何时候被撤销,有或无需解释。
提供所有必要的信息
如果您在初始联系中未提供所需的信息,将影响我们是否批准您的请求的决定。
12月 04, 2023