This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2019年01月15日 16:24 by Talos, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| TALOS-2019-0758.txt | Talos, 2019年01月15日 16:24 | Security advisory report | ||
| TALOS-2019-0758 - POC.pem | Talos, 2019年01月15日 16:25 | poc file | ||
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 11569 | merged | christian.heimes, 2019年01月15日 17:21 | |
| PR 11569 | merged | christian.heimes, 2019年01月15日 17:21 | |
| PR 11569 | merged | christian.heimes, 2019年01月15日 17:21 | |
| PR 11572 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11572 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11573 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11573 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11574 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11574 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11574 | merged | miss-islington, 2019年01月15日 22:48 | |
| PR 11863 | merged | vstinner, 2019年02月15日 11:15 | |
| PR 11864 | merged | vstinner, 2019年02月15日 11:20 | |
| PR 11865 | merged | vstinner, 2019年02月15日 11:21 | |
| PR 11866 | merged | vstinner, 2019年02月15日 11:25 | |
| PR 11867 | merged | vstinner, 2019年02月15日 11:34 | |
| PR 11868 | merged | vstinner, 2019年02月15日 11:35 | |
| Messages (23) | |||
|---|---|---|---|
| msg333709 - (view) | Author: Cisco Talos (Talos) | Date: 2019年01月15日 16:24 | |
An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.6.6. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability. |
|||
| msg333710 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2019年01月15日 16:30 | |
Thanks for the report! |
|||
| msg333711 - (view) | Author: Cisco Talos (Talos) | Date: 2019年01月15日 16:38 | |
Thanks for acknowledging. We look forward to any updates/developments on the issue reported. For further information about the Cisco Vendor Vulnerability Reporting and Disclosure Policy please refer to this document which also links to our public PGP key. https://tools.cisco.com/security/center/resources/vendor_vulnerability_policy.html Kind Regards, Regina Wilson Analyst.Business Operations regiwils@cisco.com<mailto:regiwils@cisco.com> [cid:CFA14CB5-B7B2-4FF7-8313-22D495F607D5@vrt.sourcefire.com] On Jan 15, 2019, at 11:30 AM, Christian Heimes <report@bugs.python.org<mailto:report@bugs.python.org>> wrote: Christian Heimes <lists@cheimes.de<mailto:lists@cheimes.de>> added the comment: Thanks for the report! ---------- assignee: -> christian.heimes components: +SSL nosy: +christian.heimes stage: -> needs patch versions: +Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8 _______________________________________ Python tracker <report@bugs.python.org<mailto:report@bugs.python.org>> <https://bugs.python.org/issue35746> _______________________________________ |
|||
| msg333712 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2019年01月15日 16:54 | |
I can confirm that CPython is affected.
By the way PyCA cryptography handles the CRL DB just fine.
>>> from cryptography import x509
>>> from cryptography.hazmat.backends import default_backend
>>> with open("Lib/test/talos-2019-0758.pem", "rb") as f:
... pem_data = f.read()
...
>>> cert = x509.load_pem_x509_certificate(pem_data, default_backend())
>>> cert.extensions[-1]
<Extension(oid=<ObjectIdentifier(oid=2.5.29.31, name=cRLDistributionPoints)>, critical=False, value=<CRLDistributionPoints([<DistributionPoint(full_name=None, relative_name=None, reasons=None, crl_issuer=None)>])>)>
|
|||
| msg333713 - (view) | Author: Cisco Talos (Talos) | Date: 2019年01月15日 17:15 | |
The files are removed and will be reissued to PSIRT. Regina Wilson Analyst.Business Operations regiwils@cisco.com<mailto:regiwils@cisco.com> [cid:CFA14CB5-B7B2-4FF7-8313-22D495F607D5@vrt.sourcefire.com] On Jan 15, 2019, at 12:11 PM, Cisco Talos <report@bugs.python.org<mailto:report@bugs.python.org>> wrote: Change by Cisco Talos <vulndev@cisco.com<mailto:vulndev@cisco.com>>: Removed file: https://bugs.python.org/file48052/TALOS-2019-0758.txt _______________________________________ Python tracker <report@bugs.python.org<mailto:report@bugs.python.org>> <https://bugs.python.org/issue35746> _______________________________________ |
|||
| msg333714 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年01月15日 17:17 | |
I close the bug just to hide it from the home page and default search result, to have more time to fix it (make the issue less visible). |
|||
| msg333715 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2019年01月15日 17:20 | |
Please leave the bug open and don't remove files. It's too late. The bug report has been sent to mailing lists and RSS feeds already. Also you cannot remove any files from the bug tracker. Only admins are can do that. |
|||
| msg333736 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2019年01月15日 22:46 | |
I can confirm this crashes a freshly-built interpreter from the current 3.5 and 3.4 branches. |
|||
| msg333737 - (view) | Author: miss-islington (miss-islington) | Date: 2019年01月15日 22:47 | |
New changeset a37f52436f9aa4b9292878b72f3ff1480e2606c3 by Miss Islington (bot) (Christian Heimes) in branch 'master': bpo-35746: Fix segfault in ssl's cert parser (GH-11569) https://github.com/python/cpython/commit/a37f52436f9aa4b9292878b72f3ff1480e2606c3 |
|||
| msg333741 - (view) | Author: miss-islington (miss-islington) | Date: 2019年01月15日 23:03 | |
New changeset be5de958e9052e322b0087c6dba81cdad0c3e031 by Miss Islington (bot) in branch '3.7': bpo-35746: Fix segfault in ssl's cert parser (GH-11569) https://github.com/python/cpython/commit/be5de958e9052e322b0087c6dba81cdad0c3e031 |
|||
| msg333742 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年01月15日 23:08 | |
TALOS-2019-0758.txt: "Credit: Discovered by Colin Read and Nicolas Edet of Cisco." Can we credit them somewhere? Maybe edit the NEWS entry to mention their name? |
|||
| msg333743 - (view) | Author: miss-islington (miss-islington) | Date: 2019年01月15日 23:11 | |
New changeset 06b15424b0dcacb1c551b2a36e739fffa8d0c595 by Miss Islington (bot) in branch '2.7': bpo-35746: Fix segfault in ssl's cert parser (GH-11569) https://github.com/python/cpython/commit/06b15424b0dcacb1c551b2a36e739fffa8d0c595 |
|||
| msg333747 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2019年01月16日 01:16 | |
New changeset 216a4d83c3b72f4fdcd81b588dc3f42cc461739a by Ned Deily (Miss Islington (bot)) in branch '3.6': bpo-35746: Fix segfault in ssl's cert parser (GH-11569) (GH-11573) https://github.com/python/cpython/commit/216a4d83c3b72f4fdcd81b588dc3f42cc461739a |
|||
| msg333764 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2019年01月16日 12:42 | |
The bug is less critical and harder to exploit than I initially thought. td;dr if you have cert validation enabled and only trust public root CAs from CA/B forum, then you are not affected. The bug is only exploitable under two conditions: 1) The user has disabled TLS/SSL certificate validation *and* calls getpeercert() in 3rd party code. 2) Or the user trusts a CA that does not properly validate end-entity certificates. When cert validation is enabled, the ssl module will refuse any untrusted certificate during the handshake. The SSLSocket.getpeercert() and SSLObject.getpeercert() methods raise an exception, when the handshake was not successful. Python 2.7 - 3.6 hostname verification code only calls getpeercert() after the cert chain was validated successfully. Python 3.7+ no longer calls getpeercert() for hostname verification. Further more hostname verification can't be enabled when cert validation is disabled. For publicly trusted CAs governed by CA/B baseline requirements, CRL DPs must by valid URI general names with HTTP links. From CA/Browser Forum Baseline Requirements Version 1.6.2, December 10, 2018, section 7.1.2.3. Subscriber Certificate: b. cRLDistributionPoints This extension MAY be present. If present, it MUST NOT be marked critical, and it MUST contain the HTTP URL of the CA’s CRL service. |
|||
| msg334178 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年01月21日 20:52 | |
Does someone work on backporting the fix to 3.4 and 3.5 branches? Note: I added the vulnerability to: https://python-security.readthedocs.io/vuln/ssl-crl-dps-dos.html |
|||
| msg335599 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年02月15日 11:25 | |
New changeset 355f16fd4beb36d6a18f7d0982581c93de015c17 by Victor Stinner in branch 'master': bpo-35746: Credit Colin Read and Nicolas Edet (GH-11863) https://github.com/python/cpython/commit/355f16fd4beb36d6a18f7d0982581c93de015c17 |
|||
| msg335600 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年02月15日 11:34 | |
New changeset 826a8b708165796151ad4135b0ddbd79da6d39f1 by Victor Stinner in branch '2.7': bpo-35746: Credit Colin Read and Nicolas Edet (GH-11866) https://github.com/python/cpython/commit/826a8b708165796151ad4135b0ddbd79da6d39f1 |
|||
| msg335604 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年02月15日 12:19 | |
New changeset fe42122d41834746e841b5927154be041fb7afbb by Victor Stinner in branch '3.7': bpo-35746: Credit Colin Read and Nicolas Edet (GH-11864) https://github.com/python/cpython/commit/fe42122d41834746e841b5927154be041fb7afbb |
|||
| msg335673 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2019年02月16日 07:23 | |
New changeset 2a3af94b7e4d7851986043348128e312ddbb2451 by Ned Deily (Victor Stinner) in branch '3.6': bpo-35746: Credit Colin Read and Nicolas Edet (GH-11865) https://github.com/python/cpython/commit/2a3af94b7e4d7851986043348128e312ddbb2451 |
|||
| msg336558 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2019年02月25日 21:28 | |
New changeset 6c655ce34ae54adb8eef22b73108e22cc381cb8d by larryhastings (Victor Stinner) in branch '3.4': bpo-35746: Fix segfault in ssl's cert parser (GH-11569) (#11868) https://github.com/python/cpython/commit/6c655ce34ae54adb8eef22b73108e22cc381cb8d |
|||
| msg336587 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2019年02月26日 00:17 | |
New changeset efec7631edf3b9480dc3988c97ffef94df8800da by larryhastings (Victor Stinner) in branch '3.5': bpo-35746: Fix segfault in ssl's cert parser (GH-11569) (#11867) https://github.com/python/cpython/commit/efec7631edf3b9480dc3988c97ffef94df8800da |
|||
| msg337569 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2019年03月09日 10:13 | |
Can we close this now? |
|||
| msg337732 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2019年03月12日 11:06 | |
Yes, I close the issue. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:10 | admin | set | github: 79927 |
| 2019年05月10日 17:57:03 | ned.deily | set | messages: - msg342112 |
| 2019年05月10日 17:36:41 | ned.deily | set | messages: + msg342112 |
| 2019年03月12日 11:06:07 | vstinner | set | status: open -> closed messages: + msg337732 keywords: patch, patch, patch resolution: fixed stage: patch review -> resolved |
| 2019年03月09日 10:13:37 | larry | set | keywords:
patch, patch, patch messages: + msg337569 |
| 2019年02月26日 00:17:06 | larry | set | messages: + msg336587 |
| 2019年02月25日 21:28:39 | larry | set | messages: + msg336558 |
| 2019年02月16日 07:23:55 | ned.deily | set | messages: + msg335673 |
| 2019年02月15日 12:19:33 | vstinner | set | messages: + msg335604 |
| 2019年02月15日 11:35:39 | vstinner | set | pull_requests: + pull_request11901 |
| 2019年02月15日 11:34:20 | vstinner | set | messages: + msg335600 |
| 2019年02月15日 11:34:01 | vstinner | set | pull_requests: + pull_request11900 |
| 2019年02月15日 11:25:49 | vstinner | set | messages: + msg335599 |
| 2019年02月15日 11:25:34 | vstinner | set | pull_requests: + pull_request11899 |
| 2019年02月15日 11:21:56 | vstinner | set | pull_requests: + pull_request11898 |
| 2019年02月15日 11:20:32 | vstinner | set | pull_requests: + pull_request11897 |
| 2019年02月15日 11:15:47 | vstinner | set | pull_requests: + pull_request11896 |
| 2019年01月21日 20:52:46 | vstinner | set | keywords:
patch, patch, patch messages: + msg334178 |
| 2019年01月16日 12:42:11 | christian.heimes | set | keywords:
patch, patch, patch messages: + msg333764 |
| 2019年01月16日 01:16:40 | ned.deily | set | nosy:
+ ned.deily messages: + msg333747 |
| 2019年01月15日 23:11:55 | miss-islington | set | messages: + msg333743 |
| 2019年01月15日 23:08:07 | vstinner | set | keywords:
patch, patch, patch messages: + msg333742 |
| 2019年01月15日 23:03:38 | miss-islington | set | messages: + msg333741 |
| 2019年01月15日 22:49:01 | miss-islington | set | pull_requests: + pull_request11246 |
| 2019年01月15日 22:48:52 | miss-islington | set | pull_requests: + pull_request11247 |
| 2019年01月15日 22:48:43 | miss-islington | set | pull_requests: + pull_request11245 |
| 2019年01月15日 22:48:35 | miss-islington | set | pull_requests: + pull_request11244 |
| 2019年01月15日 22:48:24 | miss-islington | set | pull_requests: + pull_request11243 |
| 2019年01月15日 22:48:13 | miss-islington | set | pull_requests: + pull_request11242 |
| 2019年01月15日 22:48:03 | miss-islington | set | pull_requests: + pull_request11241 |
| 2019年01月15日 22:47:49 | miss-islington | set | nosy:
+ miss-islington messages: + msg333737 |
| 2019年01月15日 22:46:53 | larry | set | keywords:
patch, patch, patch nosy: + larry messages: + msg333736 |
| 2019年01月15日 20:17:35 | ned.deily | set | files: - image001.png |
| 2019年01月15日 20:17:18 | ned.deily | set | files: - image001.png |
| 2019年01月15日 17:34:19 | christian.heimes | set | files: + TALOS-2019-0758 - POC.pem |
| 2019年01月15日 17:34:08 | christian.heimes | set | files: + TALOS-2019-0758.txt |
| 2019年01月15日 17:25:41 | vstinner | set | keywords:
patch, patch, patch title: TALOS-2018-0758 Denial of Service -> [ssl][CVE-2019-5010] TALOS-2018-0758 Denial of Service |
| 2019年01月15日 17:21:52 | christian.heimes | set | keywords:
+ patch pull_requests: + pull_request11235 |
| 2019年01月15日 17:21:45 | christian.heimes | set | keywords:
+ patch pull_requests: + pull_request11234 |
| 2019年01月15日 17:21:39 | christian.heimes | set | keywords:
+ patch pull_requests: + pull_request11233 |
| 2019年01月15日 17:20:33 | christian.heimes | set | status: closed -> open resolution: fixed -> (no value) messages: + msg333715 stage: resolved -> patch review |
| 2019年01月15日 17:17:37 | vstinner | set | status: open -> closed nosy: + vstinner messages: + msg333714 resolution: fixed stage: needs patch -> resolved |
| 2019年01月15日 17:15:26 | Talos | set | files:
+ image001.png messages: + msg333713 |
| 2019年01月15日 17:11:26 | Talos | set | files: - TALOS-2019-0758.txt |
| 2019年01月15日 17:11:05 | Talos | set | files: - TALOS-2019-0758 - POC.pem |
| 2019年01月15日 16:54:46 | christian.heimes | set | messages: + msg333712 |
| 2019年01月15日 16:38:19 | Talos | set | files:
+ image001.png messages: + msg333711 |
| 2019年01月15日 16:30:21 | christian.heimes | set | assignee: christian.heimes components: + SSL versions: + Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8 nosy: + christian.heimes messages: + msg333710 stage: needs patch |
| 2019年01月15日 16:25:53 | Talos | set | files:
+ TALOS-2019-0758 - POC.pem versions: - Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8 |
| 2019年01月15日 16:24:28 | Talos | create | |