Public bug reported: The following bug from upstream libcurl should be fixed in Ubuntu Stable and Ubuntu LTS trains:
https://sourceforge.net/p/curl/bugs/1371/ The bug fix consists of one missing break statement at the end of a case in a switch statement. I personally patched the bug using source code release curl_7.35.0-1ubuntu2.6.dsc, used in Ubuntu 14.04 LTS, and verified it does indeed fix the bug and all of the package's tests still pass afterwards. Impact: The bug makes it impossible to use PKCS#12 secure storage of client certificates and private keys with any affected Ubuntu releases. The fix is one line fixing a broken switch statement and was already tested against Ubuntu 14.04 LTS with a rebuilt curl package. Testing: The bug can be reproduced using the following libcurl parameters (even via CLI, pycurl, etc.). CURLOPT_SSLCERTTYPE == "P12" CURLOPT_SSLCERT = path to PKCS#12 CURLOPT_SSLKEY = path to PKCS#12 CURLOPT_SSLKEYPASSWD = key for PKCS#12 if needed Basically, just use a PKCS#12 format client certificate and private key against some certificate protected web server. Regression Potential: If it could possibly break anything, which is extraordinarily unlikely, it would break one of the three client certificate formats (most likely PKCS#12 but also PEM or DER). Note 1/3 formats is already broken due to the bug. Client certificates of all three types could be checked to prevent this. ** Affects: curl (Ubuntu) Importance: Undecided Status: New ** Patch added: "official libcurl patch from Daniel Stenberg" https://bugs.launchpad.net/bugs/1556330/+attachment/4596446/+files/libcurl_broken_pkcs12.patch -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to curl in Ubuntu. https://bugs.launchpad.net/bugs/1556330 Title: upstream curl bug #1371: p12 client certificates code is broken Status in curl package in Ubuntu: New Bug description: The following bug from upstream libcurl should be fixed in Ubuntu Stable and Ubuntu LTS trains: https://sourceforge.net/p/curl/bugs/1371/ The bug fix consists of one missing break statement at the end of a case in a switch statement. I personally patched the bug using source code release curl_7.35.0-1ubuntu2.6.dsc, used in Ubuntu 14.04 LTS, and verified it does indeed fix the bug and all of the package's tests still pass afterwards. Impact: The bug makes it impossible to use PKCS#12 secure storage of client certificates and private keys with any affected Ubuntu releases. The fix is one line fixing a broken switch statement and was already tested against Ubuntu 14.04 LTS with a rebuilt curl package. Testing: The bug can be reproduced using the following libcurl parameters (even via CLI, pycurl, etc.). CURLOPT_SSLCERTTYPE == "P12" CURLOPT_SSLCERT = path to PKCS#12 CURLOPT_SSLKEY = path to PKCS#12 CURLOPT_SSLKEYPASSWD = key for PKCS#12 if needed Basically, just use a PKCS#12 format client certificate and private key against some certificate protected web server. Regression Potential: If it could possibly break anything, which is extraordinarily unlikely, it would break one of the three client certificate formats (most likely PKCS#12 but also PEM or DER). Note 1/3 formats is already broken due to the bug. Client certificates of all three types could be checked to prevent this. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1556330/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp