NLnet Labs Unbound w wersji 1.6.2 do 1.25.0 zawiera podatność denial of service przy kompilacji z obsługą DNSCrypt ('--enable-dnscrypt'). Złe zapytanie DNSCrypt może spowodować underflow procedury odczytu pakietów DNSCrypt prowadzący do heap overflow. Aktor może wykorzystać podatność, wysyłając pojedyncze złe zapytanie DNSCrypt, którego odszyfrowana postać zawiera wyłącznie bajty '0x00' i brakuje w niej oczekiwanego znacznika '0x80'. Unbound zaczynałby czytać więcej bajtów niż potrzebnie, aż do napotkania bajtu innego niż '0x00', co mogłoby prowadzić do heap overflow i crash'u. Prawdopodobieństwo crashu jest niskie ze względu na zależność od alokacyjnego underlayingu i layoutu pamięci. Jeśli heap overflow nie nastąpi, późniejsze sprawdzenia pakietów Unbound'a go odrzucą. Unbound 1.25.1 zawiera patch naprawiający ogra
▸ Pokaż oryginał (EN)
NLnet Labs Unbound 1.6.2 up to and including version 1.25.0 has a denial of service vulnerability when compiled with DNSCrypt support ('--enable-dnscrypt'). A bad DNSCrypt query could underflow Unbound's DNSCrypt packet reading procedure that may lead to heap overflow. A malicious actor can exploit the vulnerability with a single bad DNSCrypt query that its decrypted plaintext consists entirely of '0x00' bytes and does not contain the expected '0x80' marker. Unbound would then start reading more bytes than necessary until it finds a non-'0x00' byte. Based on the underlying memory allocator and the memory layout, it could lead to heap overflow while reading followed by a crash. Likelihood of a crash is low, since it relies heavily on the underlying memory allocator and the memory layout. If the heap overflow does not happen, Unbound's later packet checks will deny the packet. Unbound 1.25.1 contains a patch with a fix to bound reading in the given buffer space.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:GreenNlnetlabs Unbound
APPNlnetlabs1.6.2 – 1.25.1 (bez)
Powiązane podatności
Use-after-free w validatorze DNSSEC Unbound — RCE i DoS
Integer overflow w Unbound przed 1.9.5 prowadzący do zapisu poza buforem
Integer overflow w alokatorze regionalnym Unbound DNS (przed wersją 1.9.5)
Integer overflow w Unbound przed wersją 1.9.5 (makro ALIGN_UP)
Out-of-bounds write w Unbound przed wersją 1.9.5 (sldns_bget_token_par)