blob: 13f99960b69f034663eb927cbe2ffac72a78255c [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
Alex Gaynor09dd2872014-10-22 14:15:43 -070015report it to ``alex.gaynor@gmail.com``. Messages may be optionally encrypted
16with PGP using key fingerprint
17``E27D 4AA0 1651 72CB C5D2 AF2B 125F 5C67 DFE9 4084`` (this public key is
18available 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
Alex Gaynor84cd1392015-09-25 10:06:30 -040033As of version 0.5, ``cryptography`` statically links OpenSSL on Windows, and as
34of version 1.0.1 on OS X, to ease installation. Due to this, ``cryptography``
35will release a new version whenever OpenSSL has a security or bug fix release to
36avoid shipping insecure software.
Terry Chia81fed662014-07-07 11:25:51 +080037
38Like all our other releases, this will be announced on the mailing list and we
39strongly recommend that you upgrade as soon as possible.
40
Ayrxffd8d432014-06-05 17:11:59 +080041Disclosure Process
42------------------
43
44Our process for taking a security issue from private discussion to public
45disclosure involves multiple steps.
46
47Approximately one week before full public disclosure, we will send advance
48notification of the issue to a list of people and organizations, primarily
49composed of operating-system vendors and other distributors of
Ayrxead04a42014-06-06 00:59:18 +080050``cryptography``. This notification will consist of an email message
51containing:
Ayrxffd8d432014-06-05 17:11:59 +080052
53* A full description of the issue and the affected versions of
54 ``cryptography``.
55* The steps we will be taking to remedy the issue.
Ayrx189f1702014-06-05 18:16:36 +080056* The patches, if any, that will be applied to ``cryptography``.
Ayrxffd8d432014-06-05 17:11:59 +080057* The date on which the ``cryptography`` team will apply these patches, issue
Alex Gaynore2f523a2014-06-05 13:09:47 -070058 new releases, and publicly disclose the issue.
Ayrxffd8d432014-06-05 17:11:59 +080059
60Simultaneously, the reporter of the issue will receive notification of the date
61on which we plan to take the issue public.
62
63On the day of disclosure, we will take the following steps:
64
Ayrx189f1702014-06-05 18:16:36 +080065* Apply the relevant patches to the ``cryptography`` repository. The commit
Ayrxffd8d432014-06-05 17:11:59 +080066 messages for these patches will indicate that they are for security issues,
67 but will not describe the issue in any detail; instead, they will warn of
68 upcoming disclosure.
Ayrx189f1702014-06-05 18:16:36 +080069* Issue the relevant releases.
Ayrxffd8d432014-06-05 17:11:59 +080070* Post a notice to the cryptography mailing list that describes the issue in
71 detail, point to the new release and crediting the reporter of the issue.
72
73If a reported issue is believed to be particularly time-sensitive due to a
74known exploit in the wild, for example the time between advance notification
75and public disclosure may be shortened considerably.
76
77The list of people and organizations who receives advanced notification of
78security issues is not and will not be made public. This list generally
79consists of high profile downstream distributors and is entirely at the
80discretion of the ``cryptography`` team.
81
82.. _`master`: https://github.com/pyca/cryptography