Skip to content

Pulling in latest changes from upstream - #2

Merged
ebekker merged 2 commits into
ebekker:masterfrom
cloudflare:master
Aug 4, 2026
Merged

Pulling in latest changes from upstream#2
ebekker merged 2 commits into
ebekker:masterfrom
cloudflare:master

Conversation

@ebekker

@ebekker ebekker commented Aug 3, 2026

Copy link
Copy Markdown
Owner

No description provided.

mitch292 and others added 2 commits April 16, 2026 15:16
…opy_extensions

When copy_extensions is enabled, CSR-provided X.509v3 extensions are
copied into the certificate template's ExtraExtensions. Go's
x509.CreateCertificate gives ExtraExtensions precedence over struct
fields for the same OID, which means an attacker-crafted CSR could
inject KeyUsage, ExtKeyUsage, and other security-critical extensions
that silently override the signing profile's intended restrictions.

Add a blocklist of CA-managed extension OIDs (KeyUsage, ExtKeyUsage,
BasicConstraints, SKI, AKI, SAN, Name Constraints, CRL Distribution
Points, Authority Info Access, Certificate Policies, Issuer Alt Name)
that are never copied from CSR extensions. These extensions are
authoritatively set by the CA's signing profile via FillTemplate and
must not be overridable by a CSR submitter.

Non-standard/private-use extensions continue to be copied through
when copy_extensions is enabled.
…ypass

fix: prevent CSR extensions from overriding CA-managed key usage in c…
@ebekker
ebekker merged commit 9710d10 into ebekker:master Aug 4, 2026
6 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants