W.C.A. Wijngaards
bd210d124b
- Fix that when a partial EDNS option is in a query, the
...
response is a more RFC conformant FORMERR, since the EDNS
option is malformed. Also fix to have an EDNS size for
the reply error encoding for failed EDNS parse of the query.
Thanks to Qifan Zhang, Palo Alto Networks, for the report.
2026-09-03 17:20:35 +02:00
W.C.A. Wijngaards
91ac449bcd
Merge branch 'branch-1.25.2'
2026-07-22 11:33:54 +02:00
W.C.A. Wijngaards
4b1635e194
- Fix CVE-2026-56416, Possible heap buffer overflow when validator
...
canonicalizes RDATA that contains domain name. Thanks to Qifan
Zhang, Palo Alto Networks, for the report.
2026-07-22 10:19:28 +02:00
W.C.A. Wijngaards
8a15ffee62
- Fix CVE-2026-54478, DNS Cookie bypass when combined with
...
proxy-protocol use. Thanks to Qifan Zhang, Palo Alto Networks,
for the report.
2026-07-22 10:16:42 +02:00
W.C.A. Wijngaards
fac7584830
- Fix #1474 : DoQ responses are never padded - pad-responses
...
does not apply to comm_doq (RFC 9250 §5.4 MUST).
2026-07-20 10:14:26 +02:00
W.C.A. Wijngaards
ef5ca84360
- Fix CVE-2026-41292, Parsing a long list of incoming EDNS options
...
degrades performance. Thanks to GitHub user 'N0zoM1z0', also Qifan
Zhang from Palo Alto Networks, for the report.
2026-05-20 10:18:23 +02:00
W.C.A. Wijngaards
fe946ba4e9
- Fix CVE-2026-42944, Heap overflow and crash with multiple nsid,
...
cookie, padding EDNS options. Thanks to Qifan Zhang, Palo Alto
Networks, for the report.
2026-05-20 10:13:55 +02:00
W.C.A. Wijngaards
a296b248b0
- For #1411 : Fix that the lookup for DNAME uses flag. Fix assertion
...
in expired calc debug routine.
2026-03-03 17:44:31 +01:00
Yorgos Thessalonikefs
73e408f1d0
A few changes for TTL processing:
...
- Cached messages that reach 0 TTL are considered expired. This prevents
Unbound itself from issuing replies with TTL 0 and possibly causing a
thundering herd at the last second. Upstream replies of TTL 0 still
get the usual pass-through but they are not considered for caching
from Unbound or any of its caching modules.
- 'serve-expired-reply-ttl' is changed and is now capped by the original
TTL value of the record to try and make some sense when replying
with expired records.
- TTL decoding was updated to adhere to RFC8767 section 4 where a set
high-order bit means the value is positive instead of 0.
2025-09-15 10:03:35 +02:00
ad21dbd1c2
Cookie secret file ( #1090 )
...
* - cookie-secret-file, define struct.
* - cookie-secret-file, add config option, create, read and delete struct.
* - cookie-secret-file, check cookie secrets for cookie validation.
* - cookie-secret-file, unbound-control add_cookie_secret, drop_cookie_secret,
activate_cookie_secret and print_cookie_secrets.
* - cookie-secret-file, test and fix locks, renew writes a fresh cookie,
staging cookies get a fresh cookie and spelling in error message.
* - cookie-secret-file, remove unused variable from cookie file unit test.
* Remove unshare and faketime dependencies for cookie_file test; documentation nits.
---------
Co-authored-by: Yorgos Thessalonikefs <yorgos@nlnetlabs.nl >
2024-08-02 13:32:08 +02:00
W.C.A. Wijngaards
5bea29b01c
- For #1110 : Test for fallthrough attribute in configure and add
...
fallthrough attribute annotations.
2024-07-23 09:47:42 +02:00
W.C.A. Wijngaards
63616a5fce
- Fix to move msgparse_rrset_remove_rr code to util/msgparse.c.
2023-09-07 11:29:53 +02:00
W.C.A. Wijngaards
1c85901cc4
- Fix out of bounds read in parse_edns_options_from_query, it would read
...
8 bytes after a client option of length 8, and then ignore them to
recreate a 24 byte response. The fixup does not read out of bounds,
and puts zeroes in the buffer at that point, that then are ignored.
2023-08-16 16:58:49 +02:00
W.C.A. Wijngaards
2b1028bdad
- Fix possibly unaligned memory access.
2023-08-16 10:06:06 +02:00
George Thessalonikefs
bab5ad623c
- For #762 : Introduce stat counters for downstream DNS Cookies per
...
thread and total: num.queries_cookie_valid, num.queries_cookie_client,
num.queries.cookie_invalid.
2023-08-08 15:19:56 +02:00
George Thessalonikefs
702f485587
- For #762 : relocate EDNS cookie code to util/edns and introduce unit
...
tests.
2023-08-04 14:26:08 +02:00
George Thessalonikefs
6e47c1e05b
- For #762 : remove relocated code.
2023-08-02 15:51:05 +02:00
George Thessalonikefs
5b55a46550
- For #762 : relocate RFC 1982 serial number arithmetic functions to their own
...
file in util/rfc_1982.[ch].
2023-08-01 17:26:14 +02:00
George Thessalonikefs
47cf44cc70
- For #762 : relocate edns_opt_list_append_keepalive.
2023-06-22 12:11:28 +02:00
George Thessalonikefs
1cd75cccfc
- For #762 : More generic integration for siphash.c
2023-06-22 11:45:08 +02:00
Willem Toorop
8df26b132b
Merge branch 'master' into devel/merge-master-into-downstream-cookies
2022-11-07 17:09:20 +00:00
Willem Toorop
75f3fbdd65
Downstream DNS Cookies a la RFC7873 and RFC9018
...
Create server cookies for clients that send client cookies.
Needs to be turned on in the config file with:
answer-cookie: yes
A cookie-secret can be configured for anycast setups.
Also adds an access control list that will allow queries with
either a valid cookie or over a stateful transport.
2022-09-28 10:28:19 +02:00
tcarpay and GitHub
0ce36e8289
Add the basic EDE (RFC8914) cases ( #604 )
2022-05-06 12:48:53 +02:00
Tom Carpay
ff030fa332
Clarify KEEPALIVE EDNS0 option operation
2021-11-15 14:00:31 +00:00
Tom Carpay
e899b4cefe
Make explicit whether edns options are parsed from queries or responses
2021-11-15 13:40:51 +00:00
Tom Carpay
b47dc528aa
add missing return code
2021-11-15 12:33:08 +00:00
a0df340b1e
Update util/data/msgparse.c
...
Co-authored-by: gthess <george@nlnetlabs.nl >
2021-11-08 12:28:03 +01:00
TCY16
8205c87a96
complete renaming of the modules edns list
2021-11-08 11:50:29 +01:00
fa73142b79
Apply suggestions from code review
...
Co-authored-by: Willem Toorop <willem@nlnetlabs.nl >
2021-11-08 11:02:54 +01:00
Tom Carpay
cb48d9e4a1
Fix keepalive logic
2021-11-01 15:01:07 +00:00
Tom Carpay
5f8447830a
Move option handling to parse-time
2021-11-01 13:48:31 +00:00
Tom Carpay
89d7476539
split edns_data.opt_list in opt_list_in and opt_list_out
...
opt_list_in for parsed (incoming) edns options, and
opt_list_out for outgoing (to be encoded) edns options
2021-11-01 12:48:40 +00:00
Tom Carpay
3e6eeb504d
Modules have their own outgoing ends options list
...
But nothing happens with it yet
2021-10-27 13:48:49 +00:00
Willem Toorop
48ecf95108
Merge branch 'master' into features/padding
2021-01-22 10:29:50 +01:00
W.C.A. Wijngaards
ba0f382eee
- CVE-2020-12662 Unbound can be tricked into amplifying an incoming
...
query into a large number of queries directed to a target.
- CVE-2020-12663 Malformed answers from upstream name servers can be
used to make Unbound unresponsive.
2020-05-19 10:27:27 +02:00
Willem Toorop
4f78b37c61
Down- and upstream padding a la RFC7830 & RFC8467
2020-04-02 18:34:03 +02:00
W.C.A. Wijngaards
b60c4a472c
Branch 1.9.4 prepares for 1.9.4 release from 1.9.3
2019-10-03 10:34:40 +02:00
Wouter Wijngaards
ad9784c5e8
- auth zone notify work.
...
git-svn-id: file:///svn/unbound/trunk@4619 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-04-10 14:57:38 +00:00
Wouter Wijngaards
062515d9bc
- Fix #1316 : heap read buffer overflow in parse_edns_options.
...
git-svn-id: file:///svn/unbound/trunk@4240 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-06-21 11:50:39 +00:00
Wouter Wijngaards
c010e93d4a
- Fix to rename internally used types from _t to _type, because _t
...
type names are reserved by POSIX.
- iana portlist update
git-svn-id: file:///svn/unbound/trunk@3989 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-01-19 10:25:41 +00:00
George Thessalonikefs
7b948b0647
- Added generic EDNS code for registering known EDNS option codes,
...
bypassing the cache response stage and uniquifying mesh states. Four EDNS
option lists were added to module_qstate (module_qstate.edns_opts_*) to
store EDNS options from/to front/back side.
- Added two flags to module_qstate (no_cache_lookup, no_cache_store) that
control the modules' cache interactions.
- Added code for registering inplace callback functions. The registered
functions can be called just before replying with local data or Chaos,
replying from cache, replying with SERVFAIL, replying with a resolved
query, sending a query to a nameserver. The functions can inspect the
available data and maybe change response/query related data (i.e. append
EDNS options).
- Updated Python module for the above.
- Updated Python documentation.
git-svn-id: file:///svn/unbound/trunk@3947 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-12-06 13:42:51 +00:00
Wouter Wijngaards
40dd2acfd9
- generic edns option parse and store code.
...
git-svn-id: file:///svn/unbound/trunk@3740 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-05-31 15:08:05 +00:00
Wouter Wijngaards
b2bdce46be
- rename ldns subdirectory to sldns to avoid name collision.
...
git-svn-id: file:///svn/unbound/trunk@3380 be551aaa-1e26-0410-a405-d3ace91eadb9
2015-03-26 10:21:38 +00:00
Wouter Wijngaards
2b90f38a70
And fix #551 REGENT to COPYRIGHT HOLDER in license in file headings.
...
git-svn-id: file:///svn/unbound/trunk@3079 be551aaa-1e26-0410-a405-d3ace91eadb9
2014-02-07 13:28:39 +00:00
Wouter Wijngaards
d3cbd76546
- Fix sldns to use sldns_ prefix for all ldns_ variables.
...
git-svn-id: file:///svn/unbound/trunk@3022 be551aaa-1e26-0410-a405-d3ace91eadb9
2013-12-03 09:11:16 +00:00
Wouter Wijngaards
3de090dadb
Fix linking of sldns and ldns, unique identifiers for global variables.
...
git-svn-id: file:///svn/unbound/trunk@3021 be551aaa-1e26-0410-a405-d3ace91eadb9
2013-11-30 11:03:55 +00:00
Wouter Wijngaards
29e96e86c9
- separate ldns into core ldns inside ldns/ subdirectory. No more
...
--with-ldns is needed and unbound does not rely on libldns.
git-svn-id: file:///svn/unbound/trunk@2998 be551aaa-1e26-0410-a405-d3ace91eadb9
2013-10-31 15:09:26 +00:00
Wouter Wijngaards
85c915f116
- fix missing break for GOST DS hash function.
...
- make depend
git-svn-id: file:///svn/unbound/trunk@2721 be551aaa-1e26-0410-a405-d3ace91eadb9
2012-07-23 12:27:04 +00:00
Wouter Wijngaards
15aacbe89b
code review.
...
git-svn-id: file:///svn/unbound/trunk@2688 be551aaa-1e26-0410-a405-d3ace91eadb9
2012-06-18 14:22:29 +00:00
Wouter Wijngaards
65ad15da56
- Fix parse error on negative SOA RRSIGs if badly ordered in the packet.
...
git-svn-id: file:///svn/unbound/trunk@2573 be551aaa-1e26-0410-a405-d3ace91eadb9
2011-12-15 13:37:13 +00:00