Skip to content

Skip CRL file when parsing fails to avoid nil dereference#288

Open
LeSingh1 wants to merge 1 commit into
stripe:masterfrom
LeSingh1:fix-crl-parse-nil-deref
Open

Skip CRL file when parsing fails to avoid nil dereference#288
LeSingh1 wants to merge 1 commit into
stripe:masterfrom
LeSingh1:fix-crl-parse-nil-deref

Conversation

@LeSingh1

Copy link
Copy Markdown

In SetupCrls, when x509.ParseCRL returns an error the error is logged but the loop continues. The very next statement accesses certList.TBSCertList.Extensions, which panics with a nil pointer dereference because certList is nil whenever ParseCRL returns an error.

The fix adds a continue so an unparseable CRL is logged and skipped, matching the pattern used elsewhere in the same loop for other recoverable per-file errors (missing Authority Key Identifier, signature mismatch, unknown issuer).

This affects any deployment that loads CRLs and ever points at a malformed or truncated CRL file. Today that crashes the process at config time instead of failing gracefully.

If x509.ParseCRL returns an error, certList is nil and the subsequent
access to certList.TBSCertList.Extensions panics. The error was logged
but the loop continued processing the failed CRL. Skip to the next file
after logging instead.
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.

1 participant