Skip to content

fix: validate cached ancestor expiry - #69

Merged
leopoldjoy merged 3 commits into
mainfrom
audit/check-cached-ancestor-expiry
Jul 31, 2026
Merged

fix: validate cached ancestor expiry#69
leopoldjoy merged 3 commits into
mainfrom
audit/check-cached-ancestor-expiry

Conversation

@leopoldjoy

Copy link
Copy Markdown
Contributor

Summary

  • check cached notAfter metadata for every ancestor during the cached-chain walk
  • preserve revocation and broken-chain fail-closed behavior
  • add direct CertManager coverage for an expired grandparent

Audit finding

Addresses external finding #14.

Tests

  • forge fmt --check
  • forge test --match-path test/CertManager.t.sol (39 passed, 1 skipped)
  • forge test (205 passed, 1 skipped)

Size note

Production CertManager is 24,508 bytes, leaving 68 bytes under EIP-170. Test/demo harnesses may still exceed the limit; the production contract remains within it.

Co-authored-by: OpenCode <opencode-noreply@coinbase.com>
@leopoldjoy
leopoldjoy marked this pull request as ready for review July 27, 2026 13:41
leopoldjoy and others added 2 commits July 29, 2026 14:28
@leopoldjoy
leopoldjoy merged commit 5883f1d into main Jul 31, 2026
8 checks passed
@leopoldjoy
leopoldjoy deleted the audit/check-cached-ancestor-expiry branch July 31, 2026 15:17
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