Служба nscd в библиотеке GNU C версии 2.3.4 и более поздних может привести к сбою из-за
переполнение стека, когда вредоносный DNS-сервер возвращает слишком большой ответ
для DNS-запроса, что приводит к ухудшению разрешения DNS для системы. Для использования этой ошибки необходима система, в которой включен nscd и используется
ненадежный DNS-сервер для разрешения имен со скомпрометированным DNS
сервер способен обрабатывать записи, достаточно большие, чтобы привести к
переполнение стека в стеке потока nscd. В ходе эксперимента свяжите 9
не мог обрабатывать большие записи, но это могло измениться в будущем или
с другим сервером имен.
В типичных установках nscd
выполняется в изолированном контексте как отдельный пользователь без оболочки из-за
где любая компрометация этой службы изолирована. Существует отдаленная возможность повреждения кэша NSCD, если злоумышленник
удается поместить указатель стека в нужную точку в куче,
потенциально может привести к перезаписи других кешей в nscd с помощью
поврежденные данные из-за переполнения стека, пока не будет найден ошибочный путь к коду
в конечном итоге приводит к сбою. Наконец, сбой в nscd может привести к снижению производительности при
разрешает имена, но это не приводит к отказу в обслуживании.
Показать оригинальное описание (EN)
The nscd service in the GNU C Library 2.3.4 onwards may crash due to a stack overflow when a malicious DNS server returns too large a response for a DNS query, resulting in degraded DNS resolution for the system. Exploitation of this bug needs a system that has nscd enabled and using an untrusted DNS server for name resolution, with the compromised DNS server being capable of processing records large enough to result in a stack overflow in an nscd thread stack. During experimentation, bind 9 was unable to handle large records, but that could change in future or with a different name server. In typical installations, nscd is executed in an isolated context as its own user without a shell, due to which any compromise of that service is isolated. There is a remote possibility of nscd cache corruption if an attacker manages to get the stack pointer into a desired point in the heap, potentially resulting in other caches in nscd being overwritten with corrupt data through the stack overflow, until the buggy code path eventually results in a crash. Finally, a crash in nscd may result in performance degradation when resolving names, but it does not result in a denial of service.
Характеристики атаки
Последствия
Строка CVSS v3.1