blob: 62c0515947b349e8d4b07a12038510a92d6b7965 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#use wml::debian::translation-check translation="463077fd27ece5cc31348879643324e68a3c8e73" maintainer="Lev Lamberov"
<define-tag moreinfo>
<p>Изначально о проблеме сообщил <solar@ideal.ru>
<p>Код командной оболочки немного отличается от обычного:
<ul>
<li> он сам выполняет setuid(geteuid());
<li> его легко изменять (более нет зафиксированных смещений, а имя командной
оболочки может быть изменено — её длина не фиксирована);
<li> сам NULL-указатель передаётся в %edx системному вызову execve, а
не указатель на NULL (это похоже на ошибку в статье
Aleph One); хотя, как кажется, это не вызывает проблем.
</ul>
<p>Данную уязвимость можно использовать удалённо, если используется специально
подготовленный клиент telnet, который позволяет экспортировать большие значения переменных окружения.
Переполнение происходит во время /bin/login (что-то типа
знаменитой уязвимости LD_PRELOAD, но это переполнение). Я не уверено в этом, но
для переменных окружения могут быть какие-то ограничения в telnetd.
</define-tag>
<define-tag description>переполнение буфера libc NLSPATH</define-tag>
# do not modify the following line
#include '$(ENGLISHDIR)/security/1997/19970213.data'
|