[wp-trac] [WordPress Trac] #34935: Removed SSL certificates causing errors in WP 4.4

WordPress Trac noreply at wordpress.org
Sun Dec 13 04:56:06 UTC 2015


#34935: Removed SSL certificates causing errors in WP 4.4
------------------------------------+-----------------------
 Reporter:  DvanKooten              |       Owner:  rmccue
     Type:  defect (bug)            |      Status:  assigned
 Priority:  normal                  |   Milestone:  4.4.1
Component:  HTTP API                |     Version:  4.4
 Severity:  normal                  |  Resolution:
 Keywords:  has-patch https commit  |     Focuses:
------------------------------------+-----------------------
Changes (by rmccue):

 * keywords:  has-patch needs-testing https => has-patch https commit


Comment:

 Replying to [comment:17 toddlahman]:
 > Adding automated testing of different versions of cURL and OpenSSL with
 WordPress using HTTPS to connect to remote URLs, like an API, would help
 avoid these issues in the next release.

 It is a huge amount of effort to test different cURL and OpenSSL versions
 (as various versions need to be used); finding and verifying this bug took
 me ~4 hours, even using `git bisect`. Thankfully, this issue turned out to
 be an easy one caused by OpenSSL itself, which meant I only needed to
 rebuild OpenSSL and use the command line client `openssl s_client`; if
 this was caused by OpenSSL and cURL (or worse, PHP cURL) having issues
 together, it could have taken days just to find the issue.

 Testing every version of cURL and OpenSSL that's available isn't something
 we can do, which is why it's important for people to test release
 candidates.

 Replying to [comment:19 Kent Brockman]:
 > A well implemented ca-bundle.crt file demonstrated to do the magic. The
 tricky part is... keeping that .crt file up to date, given the lots of
 updates that may arise. All in all, is a foolproof solution. I bet that
 monitoring changes in a couple of git ca bundles (like this one:
 https://raw.githubusercontent.com/bagder/ca-
 bundle/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09/ca-bundle.crt ) will be
 enough to keep up with it.

 We '''do''' monitor changes in the bundle, which is what caused this issue
 in the first place. The key of the issue is that Mozilla has decided to
 remove 1024 bit root certificates from their root (that bundle file is
 generated from it). Mozilla's software and infrastructure uses NSS (a
 different SSL library) that can handle alternate chains; OpenSSL 1.0.1l
 was the first version to introduce this to OpenSSL.

 Monitoring the upstream changes isn't enough when we also need to have
 compatibility with years old versions of OpenSSL.

 Replying to [comment:20 sneader]:
 > Hosting provider input here: Very standard cPanel shared hosting
 environment, running CentOS 6.7 OS with yum updates, as well as cPanel
 updates, every night. OpenSSL reports as version "1.0.1e-fips" but has
 backported patches (the most recent being June 23, 2015).

 It may be worth reporting this to CentOS, since 1024 bit root certificates
 are going away eventually. This is going to break certificates that rely
 on alternate chains. We will endeavour to keep supporting this, but I
 wouldn't be surprised when other software starts breaking too.

 ----

 Given that this patch is working, recommending for commit in 4.4.1.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/34935#comment:21>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list