blob: 3bb10fa412af2f9bd1b1388ab81c08aa6fa4a2eb [file] [log] [blame]
Alex Gaynor99b69d92013-10-19 17:52:58 -07001Security
2========
3
Ayrxffd8d432014-06-05 17:11:59 +08004We take the security of ``cryptography`` seriously. The following are a set of
5policies we have adopted to ensure that security issues are addressed in a
6timely fashion.
7
8Reporting a security issue
9--------------------------
10
11We ask that you do not report security issues to our normal GitHub issue
12tracker.
13
14If you believe you've identified a security issue with ``cryptography``, please
15report it to ``alex.gaynor@gmail.com``. Message may be optionally be encrypted
16with PGP using key fingerprint
17``E27D 4AA0 1651 72CB C5D2 AF2B 125F 5C67 DFE9 4084``
18(this public key is available from most commonly-used key servers).
Alex Gaynor99b69d92013-10-19 17:52:58 -070019
Alex Gaynor9cd4b212014-01-10 06:54:21 -080020Once you've submitted an issue via email, you should receive an acknowledgment
Alex Gaynor99b69d92013-10-19 17:52:58 -070021within 48 hours, and depending on the action to be taken, you may receive
Alex Gaynor59075df2014-01-10 11:40:03 -080022further follow-up emails.
Ayrxffd8d432014-06-05 17:11:59 +080023
24Supported Versions
25------------------
26
27At any given time, we will provide security support for the `master`_ branch
28as well as the 2 most recent releases.
29
Terry Chia81fed662014-07-07 11:25:51 +080030New releases for OpenSSL updates
31--------------------------------
32
33As of version 0.5, ``cryptography`` statically links OpenSSL on Windows to ease
34installation. Due to this, ``cryptography`` will release a new version whenever
35OpenSSL has a security or bug fix release to avoid shipping insecure software.
36
37Like all our other releases, this will be announced on the mailing list and we
38strongly recommend that you upgrade as soon as possible.
39
Ayrxffd8d432014-06-05 17:11:59 +080040Disclosure Process
41------------------
42
43Our process for taking a security issue from private discussion to public
44disclosure involves multiple steps.
45
46Approximately one week before full public disclosure, we will send advance
47notification of the issue to a list of people and organizations, primarily
48composed of operating-system vendors and other distributors of
Ayrxead04a42014-06-06 00:59:18 +080049``cryptography``. This notification will consist of an email message
50containing:
Ayrxffd8d432014-06-05 17:11:59 +080051
52* A full description of the issue and the affected versions of
53 ``cryptography``.
54* The steps we will be taking to remedy the issue.
Ayrx189f1702014-06-05 18:16:36 +080055* The patches, if any, that will be applied to ``cryptography``.
Ayrxffd8d432014-06-05 17:11:59 +080056* The date on which the ``cryptography`` team will apply these patches, issue
Alex Gaynore2f523a2014-06-05 13:09:47 -070057 new releases, and publicly disclose the issue.
Ayrxffd8d432014-06-05 17:11:59 +080058
59Simultaneously, the reporter of the issue will receive notification of the date
60on which we plan to take the issue public.
61
62On the day of disclosure, we will take the following steps:
63
Ayrx189f1702014-06-05 18:16:36 +080064* Apply the relevant patches to the ``cryptography`` repository. The commit
Ayrxffd8d432014-06-05 17:11:59 +080065 messages for these patches will indicate that they are for security issues,
66 but will not describe the issue in any detail; instead, they will warn of
67 upcoming disclosure.
Ayrx189f1702014-06-05 18:16:36 +080068* Issue the relevant releases.
Ayrxffd8d432014-06-05 17:11:59 +080069* Post a notice to the cryptography mailing list that describes the issue in
70 detail, point to the new release and crediting the reporter of the issue.
71
72If a reported issue is believed to be particularly time-sensitive due to a
73known exploit in the wild, for example the time between advance notification
74and public disclosure may be shortened considerably.
75
76The list of people and organizations who receives advanced notification of
77security issues is not and will not be made public. This list generally
78consists of high profile downstream distributors and is entirely at the
79discretion of the ``cryptography`` team.
80
81.. _`master`: https://github.com/pyca/cryptography