Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Y2038 bug when checking DNSSEC signature expiration #1299

Open
bortzmeyer opened this issue Nov 6, 2023 · 3 comments
Open

Y2038 bug when checking DNSSEC signature expiration #1299

bortzmeyer opened this issue Nov 6, 2023 · 3 comments
Labels
T-Bug Type: Bug in software or error in test case description
Milestone

Comments

@bortzmeyer
Copy link

Apparently, in lib/Zonemaster/Engine/Test/DNSSEC.pm, Zonemaster checks the possible expiration of DNSSEC signatures by just a regular "lower than" operator. If this is indeed the case, it is a Y2038 bug. RFC 4034, section 3.1.5, says "all comparisons involving these fields [inception and expiration] MUST use "Serial number arithmetic", as defined in RFC1982".
It seems there is fifteen years to address that.

@matsduf
Copy link
Contributor

matsduf commented Nov 6, 2023

@bortzmeyer, thank you for pointing that out. We should fix that well ahead of the time limit.

@matsduf matsduf added the T-Bug Type: Bug in software or error in test case description label Nov 6, 2023
@matsduf matsduf modified the milestones: v2024.1, v2024.2 Nov 6, 2023
@ghost
Copy link

ghost commented Nov 6, 2023

If this is indeed the case, it is a Y2038 bug.

I can't see any restriction on how to compare the time in the DNSSEC08 specification. So I think it is indeed a regular comparison.

It seems LDNS can handle such serial arithmetic comparison. Maybe we could rely on that.

@matsduf
Copy link
Contributor

matsduf commented Nov 6, 2023

There are more test case specifications (not just DNSSEC08) that require the RRSIG to be valid, but all of them should use the same method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-Bug Type: Bug in software or error in test case description
Projects
None yet
Development

No branches or pull requests

2 participants