| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 8bcbc78 commit efec763
4 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,22 @@ | |||
| 1 | + -----BEGIN CERTIFICATE----- | ||
| 2 | + MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO | ||
| 3 | + BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 | ||
| 4 | + MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh | ||
| 5 | + bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB | ||
| 6 | + J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES | ||
| 7 | + V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD | ||
| 8 | + 5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C | ||
| 9 | + 1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP | ||
| 10 | + WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF | ||
| 11 | + j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp | ||
| 12 | + HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io | ||
| 13 | + UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 | ||
| 14 | + 2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu | ||
| 15 | + bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG | ||
| 16 | + SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p | ||
| 17 | + t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr | ||
| 18 | + t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit | ||
| 19 | + p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV | ||
| 20 | + Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ | ||
| 21 | + 10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== | ||
| 22 | + -----END CERTIFICATE----- | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -69,6 +69,7 @@ def data_file(*name): | |||
| 69 | 69 | BADKEY = data_file("badkey.pem") | |
| 70 | 70 | NOKIACERT = data_file("nokia.pem") | |
| 71 | 71 | NULLBYTECERT = data_file("nullbytecert.pem") | |
| 72 | + TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") | ||
| 72 | 73 | ||
| 73 | 74 | DHFILE = data_file("dh1024.pem") | |
| 74 | 75 | BYTES_DHFILE = os.fsencode(DHFILE) | |
@@ -252,6 +253,27 @@ def test_parse_cert(self): | |||
| 252 | 253 | self.assertEqual(p['crlDistributionPoints'], | |
| 253 | 254 | ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) | |
| 254 | 255 | ||
| 256 | + def test_parse_cert_CVE_2019_5010(self): | ||
| 257 | + p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) | ||
| 258 | + if support.verbose: | ||
| 259 | + sys.stdout.write("\n" + pprint.pformat(p) + "\n") | ||
| 260 | + self.assertEqual( | ||
| 261 | + p, | ||
| 262 | + { | ||
| 263 | + 'issuer': ( | ||
| 264 | + (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), | ||
| 265 | + 'notAfter': 'Jun 14 18:00:58 2028 GMT', | ||
| 266 | + 'notBefore': 'Jun 18 18:00:58 2018 GMT', | ||
| 267 | + 'serialNumber': '02', | ||
| 268 | + 'subject': ((('countryName', 'UK'),), | ||
| 269 | + (('commonName', | ||
| 270 | + 'codenomicon-vm-2.test.lal.cisco.com'),)), | ||
| 271 | + 'subjectAltName': ( | ||
| 272 | + ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), | ||
| 273 | + 'version': 3 | ||
| 274 | + } | ||
| 275 | + ) | ||
| 276 | + | ||
| 255 | 277 | def test_parse_cert_CVE_2013_4238(self): | |
| 256 | 278 | p = ssl._ssl._test_decode_cert(NULLBYTECERT) | |
| 257 | 279 | if support.verbose: | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,4 @@ | |||
| 1 | + [CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did | ||
| 2 | + not handle CRL distribution points with empty DP or URI correctly. A | ||
| 3 | + malicious or buggy certificate can result into segfault. Vulnerability | ||
| 4 | + (TALOS-2018-0758) reported by Colin Read and Nicolas Edet of Cisco. | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1194,6 +1194,10 @@ _get_crl_dp(X509 *certificate) { | |||
| 1194 | 1194 | STACK_OF(GENERAL_NAME) *gns; | |
| 1195 | 1195 | ||
| 1196 | 1196 | dp = sk_DIST_POINT_value(dps, i); | |
| 1197 | + if (dp->distpoint == NULL) { | ||
| 1198 | + /* Ignore empty DP value, CVE-2019-5010 */ | ||
| 1199 | + continue; | ||
| 1200 | + } | ||
| 1197 | 1201 | gns = dp->distpoint->name.fullname; | |
| 1198 | 1202 | ||
| 1199 | 1203 | for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments