bind9/bin
Aram Sargsyan 3ad0f165ab Fix RRL responses-per-second bypass using wildcard names
It is possible to bypass Response Rate Limiting (RRL)
`responses-per-second` limitation using specially crafted wildcard
names, because the current implementation, when encountering a found
DNS name generated from a wildcard record, just strips the leftmost
label of the name before making a key for the bucket.

While that technique helps with limiting random requests like
<random>.example.com (because all those requests will be accounted
as belonging to a bucket constructed from "example.com" name), it does
not help with random names like subdomain.<random>.example.com.

The best solution would have been to strip not just the leftmost
label, but as many labels as necessary until reaching the suffix part
of the wildcard record from which the found name is generated, however,
we do not have that information readily available in the context of RRL
processing code.

Fix the issue by interpreting all valid wildcard domain names as
the zone's origin name concatenated to the "*" name, so they all will
be put into the same bucket.

(cherry picked from commit baa9698c9d)
2022-09-08 09:41:15 +02:00
..
check Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 09:33:51 +01:00
confgen Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 09:33:51 +01:00
delv Reset parser before parsing of internal trust anchor 2022-08-19 15:20:59 +10:00
dig Allow fallback to IDNA2003 processing 2022-09-05 10:21:36 +02:00
dnssec Update NSEC3 guidance to match draft-ietf-dnsop-nsec3-guidance-10 2022-06-15 18:10:50 +02:00
named Do not use libxml2 deprecated functions 2022-09-06 09:22:35 +00:00
nsupdate Remove use of the inline keyword used as suggestion to compiler 2022-03-25 09:37:18 +01:00
pkcs11 Add couple missing braces around single-line statements 2022-03-17 18:31:36 +01:00
plugins Make isc_ht_init() and isc_ht_iter_create() return void 2022-03-08 20:20:52 +01:00
python Auto-format Python files with black 2022-06-08 13:34:19 +02:00
rndc Update NSEC3 guidance to match draft-ietf-dnsop-nsec3-guidance-10 2022-06-15 18:10:50 +02:00
tests Fix RRL responses-per-second bypass using wildcard names 2022-09-08 09:41:15 +02:00
tools quote addresses in YAML output 2022-08-31 16:18:57 -07:00
win32/BINDInstall Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00
Makefile.in Update the copyright information in all files in the repository 2022-01-11 12:22:09 +01:00