mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
CVE-2020-10745: ndr_dns: do not allow consecutive dots
The empty subdomain component is reserved for the root domain, which we should only (and always) see at the end of the list. That is, we expect "example.com.", but never "example..com". BUG: https://bugzilla.samba.org/show_bug.cgi?id=14378 Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
parent
bb63737905
commit
51a4571849
@ -58,6 +58,12 @@ enum ndr_err_code ndr_push_dns_string_list(struct ndr_push *ndr,
|
||||
(unsigned)complen);
|
||||
}
|
||||
|
||||
if (complen == 0 && s[complen] == '.') {
|
||||
return ndr_push_error(ndr, NDR_ERR_STRING,
|
||||
"component length is 0 "
|
||||
"(consecutive dots)");
|
||||
}
|
||||
|
||||
compname = talloc_asprintf(ndr, "%c%*.*s",
|
||||
(unsigned char)complen,
|
||||
(unsigned char)complen,
|
||||
|
@ -1,2 +1 @@
|
||||
samba.tests.dns_packet.samba.tests.dns_packet.TestDnsPackets.test_127_very_dotty_components
|
||||
samba.tests.dns_packet.samba.tests.dns_packet.TestNbtPackets.test_127_very_dotty_components
|
||||
|
@ -1,4 +1,3 @@
|
||||
librpc.ndr.ndr_dns_nbt.test_ndr_dns_string_all_dots
|
||||
librpc.ndr.ndr_dns_nbt.test_ndr_dns_string_half_dots
|
||||
librpc.ndr.ndr_dns_nbt.test_ndr_nbt_string_all_dots
|
||||
librpc.ndr.ndr_dns_nbt.test_ndr_nbt_string_half_dots
|
||||
|
Loading…
x
Reference in New Issue
Block a user