Let's Encrypt: Improper encoding of wildcard certificates
This case is an incident report by Let's Encrypt (operations team) about six test wildcard certificates issued under its publicly trusted root during final tests for general availability of wildcard certificate support. The certificates had a subject common name containing a “*.” label encoded as an ASN.1 PrintableString, which does not allow the asterisk character and violates RFC 5280. The issue was discovered via crt.sh linter flagging on 2018-03-13, and all six certificates were revoked. The root cause was identified as a Go language bug, which was resolved in Go v1.10, and Let's Encrypt stated it would resolve the issue by upgrading to Go v1.10 before proceeding with wildcard certificate launch plans. The thread also records an action item to integrate GlobalSign’s certlint and/or zlint into the existing cert-checker pipeline. The work to integrate certlint was completed and merged into testing on March 15, and the reporter later marked the bug resolved, stating that all actions had been completed.
- Let's Encrypt became aware of improper wildcard certificate encoding via crt.sh linter flagging.
- Let's Encrypt revoked the six test wildcard certificates and completed integration of certlint into its testing pipeline.
- The bug was marked resolved after confirming actions were completed.
- Fastly representative — Wayne Thayer reported that six test wildcard certificates were issued with an invalid ASN.1 PrintableString encoding for a “*.” label, noted the RFC 5280 violation, stated the certificates were revoked, and said the cause was a Go bug resolved in Go v1.10 with plans to upgrade and improve testing.
- Fastly representative — Wayne Thayer relayed an action item to integrate GlobalSign’s certlint and/or zlint into the cert-checker pipeline and asked for a completion date.
- Kflag representative — Josh Aas stated the certlint integration work was completed and merged into testing on March 15, with a link to the Boulder pull request.
- Fastly representative — Wayne Thayer marked the bug resolved, stating it appeared all actions were completed.