-
-
Notifications
You must be signed in to change notification settings - Fork 373
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
Unbound SEGV val_has_signed_nsecs #1240
Comments
Had some help looking at the corefile. It seems there's an invalid pointer dereferenced:
The code dies on line 1204, since rep->rrsets[i] is an invalid pointer.
|
This seems to be a validation effort, on a DS response. The DS responses is returned from cache, it is a negative cache response from the negative cache. The response contains a single RRset in the authority section, that should have been an NSEC or NSEC3 record, but that causes the wrong rrset pointer dereference. The code path that creates this response does not have a flaw, for having the counter at one rrset, but then the rrset pointer is a garbage value. The not so useful idea I can have about what is wrong is that the compiler and in particular its optimization option is perhaps aggressively removed the assignment of this value in some case. That would mean a recompile without optimization or a different compiler version would fix it. But it seems unlikely as I figure it would be very obviously wrong for every other lookup or so. So this seems too unlikely. More likely a bug in unbound of some sort, but I can only speculate where or how. Is there a way to reproduce the failure? |
I haven't figured out how to reproduce it yet but will try to find more time to test it. |
Describe the bug
Unbound crashed with SEGV, generated a coredump and restarted
Coredump seems to show the seg fault occurred in a dnssec related function:
val_has_signed_nsecs
System:
1.19.3
Ubuntu 22.04.5 LTS
unbound -V
output:Additional information
Full GDB output from coredump:
Please let me know what additional information I could provide that would be helpful!
The text was updated successfully, but these errors were encountered: