Skip to content

Commit a777b0e

Browse files
sethmlarsonJelleZijlstraStanFromIrelandhugovkemmatyping
authored
Apply suggestions from code review
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Stan Ulbrych <stan@python.org> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Emma Smith <emma@emmatyping.dev>
1 parent 676b9df commit a777b0e

1 file changed

Lines changed: 21 additions & 22 deletions

File tree

security-and-threat-model/index.rst

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,30 @@
22
Security 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
77
by following this security policy. Repeated failure to
88
respect 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

1111
What types of bugs are vulnerabilities?
1212
---------------------------------------
1313

1414
Not all bugs are vulnerabilities. To avoid causing
1515
duplicate 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
1717
prior to being submitted to the PSRT.
1818

1919
Vulnerabilities must be exploitable from code, configurations,
2020
pre-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
2323
will not be accepted as a vulnerability.
2424

2525
Documented 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

3130
Vulnerabilities must not depend on malicious control of:
3231

@@ -47,12 +46,12 @@ for the attacker, rather than a "lateral" change in posture.
4746
This is to avoid handling performance improvements as security vulnerabilities.
4847

4948
Vulnerabilities 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.
5251
For example, Python is not vulnerable because it bundles a vulnerable
5352
version 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
5655
is available in the Threat Model section of the Python Developer Guide.
5756

5857
What 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

6867
Sometimes 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`.
7574
Vulnerabilities that exclusively affect unsupported platforms
7675
may 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

109108
Submit all potential security vulnerability reports for CPython
110-
to `GitHub Security Advisories <GHSA>`__
109+
to GitHub Security Advisories
111110
by `opening a new ticket <GHSA>`__.
112111
Do 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
114113
not 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

117116
Here'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
148147
vulnerability reports to the PSRT to receive
149148
a CVE ID for Python or pip. To reach the PSF
150149
CNA 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

Comments
 (0)