22Security and threat model
33=========================
44
5- The majority of Python Security Response Team
6- members are volunteers and therefore you must respect this volunteered time
5+ The majority of Python Security Response Team (PSRT)
6+ members are volunteers. Therefore, you must respect this volunteered time
77by following this security policy. Repeated failure to
88respect the security policy will result in future reports
9- being rejected, regardless of technical merit.
9+ being rejected or being banned from the ` python ` GitHub organization , regardless of technical merit.
1010
1111What types of bugs are vulnerabilities?
1212---------------------------------------
1313
1414Not all bugs are vulnerabilities. To avoid causing
1515duplicate work for PSRT members all potential reports
16- must be evaluated against the relevant threat model(s)
16+ must be evaluated against the relevant threat models
1717prior to being submitted to the PSRT.
1818
1919Vulnerabilities must be exploitable from code, configurations,
2020pre-conditions, and deployments that might feasibly exist in
21- the real- world. For example, a vulnerability only affecting code
22- that does not make sense to write in a production program
21+ the real world. For example, a vulnerability only affecting code
22+ that does not make sense in a production program
2323will not be accepted as a vulnerability.
2424
2525Documented functionality will not be considered a vulnerability.
26- For example, ``pickle ``, ``marshal ``, ``shelve ``, ``eval ``, and ``exec ``
27- are documented to execute arbitrary Python code that is supplied as data.
28- The ``ctypes `` module is documented to enable modifying arbitrary locations
29- in memory.
26+ For example, :mod: `pickle `, :mod: `marshal` `, :mod: `shelve` `, :mod: `eval` `,
27+ and :mod: `exec ` are documented to execute arbitrary Python code that is supplied
28+ as data. The :mod: `ctypes ` module is documented to enable modifying arbitrary locations in memory.
3029
3130Vulnerabilities must not depend on malicious control of:
3231
@@ -47,12 +46,12 @@ for the attacker, rather than a "lateral" change in posture.
4746This is to avoid handling performance improvements as security vulnerabilities.
4847
4948Vulnerabilities in dependencies of Python (such as zlib, Tcl/Tk, or OpenSSL)
50- are not vulnerabilities in Python unless Python's usage of the dependency
51- interferes with secure usage of the dependency.
49+ are not vulnerabilities in Python unless Python's use of the dependency
50+ interferes with secure use of the dependency.
5251For example, Python is not vulnerable because it bundles a vulnerable
5352version of zlib, users are expected to upgrade their own dependencies.
5453
55- The complete threat model for Python and standard library modules,
54+ The complete threat model for Python and standard library modules
5655is available in the Threat Model section of the Python Developer Guide.
5756
5857What versions of Python are accepting reports?
@@ -67,11 +66,11 @@ non-stable versions, then the issue should be handled as a public bug issue.
6766
6867Sometimes features may be marked as
6968"experimental" in Python, even in a stable Python version.
70- These features are not eligible for security vulnerabilities,
71- instead open a public GitHub issue.
69+ These features are not eligible for security vulnerabilities.
70+ Instead open a public GitHub issue.
7271
73- If a vulnerability is platform-dependent, check if the platform is a
74- `supported platform per PEP 11 < https://peps.python.org/ pep-0011/ >`__ .
72+ If a vulnerability is platform-dependent, check if the platform is
73+ `supported per : pep: ` 11 ` .
7574Vulnerabilities that exclusively affect unsupported platforms
7675may not be accepted.
7776
@@ -96,7 +95,7 @@ be formatted correctly:
9695 whether a valid bug report is a vulnerability or not.
9796* Do not include severity or CVSS information in your initial report,
9897 this information will be determined by the PSRT.
99- * Optionally , include a minimal patch with the mitigation for the report.
98+ * Ideally , include a minimal patch with the mitigation for the report.
10099* If the vulnerability only affects certain Python versions, optionally
101100 include the versions of Python that are affected.
102101* Reports that do not contain a potential security vulnerability (such as spam
@@ -107,12 +106,12 @@ How to submit a vulnerability report?
107106-------------------------------------
108107
109108Submit all potential security vulnerability reports for CPython
110- to ` GitHub Security Advisories < GHSA >`__
109+ to GitHub Security Advisories
111110by `opening a new ticket <GHSA >`__.
112111Do not open a public GitHub issue to report a security vulnerability.
113- For all other projects (pip, python.org, tools, etc ) or if you're
112+ For all other projects (such as pip, python.org and tools ) or if you're
114113not sure where to send your report, send an email to
115- `security at python dot org <mailto:security@python.org >`__.
114+ `security@ python. org <mailto:security@python.org >`__.
116115
117116Here's what to expect for how a vulnerability report will be handled:
118117
@@ -148,6 +147,6 @@ The Python and pip projects are scoped under the
148147vulnerability reports to the PSRT to receive
149148a CVE ID for Python or pip. To reach the PSF
150149CNA contact directly, send an email to
151- `cna at python dot org <mailto:cna@python.org >`__.
150+ `cna@ python. org <mailto:cna@python.org >`__.
152151
153152.. _CNA : https://www.python.org/cve-numbering-authority/
0 commit comments