Bulletproof TLS Newsletter #61
Vulnerability in Windows allows certificate forgery with elliptic curves
30 January 2020
Author: Hanno Böck

This issue was distributed to 53,127 email subscribers.

Bulletproof TLS Newsletter is a free periodic newsletter bringing you commentary and news surrounding SSL/TLS and Internet PKI, designed to keep you informed about the latest developments in this space.

In this issue:

  1. Vulnerability in Windows allows certificate forgery with elliptic curves
  2. Short news

Vulnerability in Windows allows certificate forgery with elliptic curves

With the January security update from Microsoft, a severe security flaw in the certificate handling of Windows was fixed. The flaw was reported to Microsoft by the NSA. Microsoft’s own advisory contained few details, and the NSA advisory contained only brief hints, but cryptographers were soon able to understand the vulnerability and created proof of concept exploits.

The vulnerability relies on custom parameters for elliptic curves. Usually when using elliptic curves, you use a predefined curve (like NIST P-256), and the parameters are hardcoded in the implementation. However, it’s also possible to define custom curves and parameters.

In the case of this vulnerability, the confusion happened with cached certificates, which allowed an attacker to specify his own generator. With this, it’s possible to create a private key for an existing public key. Initial details were posted by Thomas Ptacek on Hacker News. For further details, there’s also a blog post and proof of concept available from Kudelski Security.

The vulnerability can be used to perform man-in-the-middle attacks against TLS connections and forge code signatures for executables. It’s not possible to target Windows Update directly with this vulnerability because Windows Update uses a pinned RSA key and the vulnerability only affects elliptic curve certificates.

Short news