Let's Encrypt: Duplicate Serial Numbers
Let’s Encrypt reported that it issued certificates with duplicate serial numbers. The issue was triggered by a subscriber certificate profile configuration change that removed the ISRG CPS OID and related CPS URL from the Certificate Policies extension; during the deployment window, a single ACME order finalization flow could produce a precertificate and final certificate with the same serial number but mismatched Certificate Policies extensions. Let’s Encrypt halted issuance while investigating, confirmed the issue was transient and limited to the deploy period, and then resumed issuance. It identified a preliminary set of 645 affected serial numbers and stated it would revoke the affected certificates within 5 days and post a full incident report by 2023-06-20. The incident report attachment describes the BRs requirement violated (precertificate extensions must be byte-for-byte identical to the certificate extensions, with specified exceptions) and notes that 645 affected serials were revoked by 2023-06-19. Let’s Encrypt later reported that an explicit correspondence check change had been deployed to Production to remediate the incident and asked that the bug be closed if no further questions remained.
- Let’s Encrypt deployed a certificate profile configuration change that temporarily allowed precertificate and final certificate mismatches, resulting in duplicate serial numbers.
- Let’s Encrypt halted issuance to investigate the duplicate-serial-number incident and later resumed issuance after confirming it was transient.
- Let’s Encrypt revoked all affected certificates (645 serials) as part of incident remediation.
- Let’s Encrypt deployed a remediation (explicit correspondence check) to Production and requested closure.
- Mm representative — Reported that Let's Encrypt issued certificates with duplicate serial numbers and provided two certspotter URLs for the two certificates.
- Internet Security Research Group — Explained that during a subscriber certificate profile deployment, a single ACME finalization flow could produce a precertificate and final certificate with the same serial number but different Certificate Policies extension contents; stated issuance was halted, issue confirmed transient, 645 affected serials identified, revocation planned within 5 days, and a full incident report to be posted by 2023-06-20.
- Sectigo — Shared a gist of Sectigo Go code for constructing final TBSCertificate from the corresponding precertificate and asked if the approach had been considered.
- Internet Security Research Group — Acknowledged considering the approach and said the incident would be reflected in a root cause analysis write-up.
- Internet Security Research Group — Provided attachments related to precertificate and certificate URLs for affected serials.
- Internet Security Research Group — Reported that an explicit correspondence check change was deployed to Production and asked that the bug be closed if no further questions remained.
- Mozilla representative — Indicated the bug would be closed next week unless issues still needed discussion.