aboutsummaryrefslogtreecommitdiffstats
path: root/russian/security/1997/19970220.wml
blob: 24d38b2b9749b125d0f8cedc39b7b9df4b3bdf25 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#use wml::debian::translation-check translation="ae4a72744f84be54cae3e4ec65a8488af3af84d1" maintainer="Lev Lamberov"
<define-tag moreinfo>
<p>Выход при переполнении, но screen теряет права суперпользователя до выполнения
кода.

<p>Изначально о проблеме сообщил Khelbin &lt;khelbin@connix.com&gt;

<p>Программа screen 3.07.02, если она имеет флаг прав доступа, позволяющий запускать её от лица суперпользователя, возможно
вызывает переполнение буфера на некоторых платформах.  Я не ознакомился со всем
исходным кодом, а лишь быстро просмотрел его. Я заметил, что attacher.c выполняет
следующее:

<pre>
      struct passwd ppp;
      char fullname[100];

      strcpy(fullname, ppp-&gt;pw_gecos);
</pre>

<p>Мне удалось подготовить небольшой эксплоит, но он не заработал на BSDI
1.1 из-за того, что chpass/chfn не принимает некоторые символы.  Таким образом, чтение
в коде командной оболочки в поле Full Name приводит к выводу сообщения об ошибке "В поле
Full Name обнаружен некорректный символ,  редактировать [y]?" или чему-то
подобному.

<p>Любая операционная система или версия chfn/chpass, которые не осуществляют проверки наличия 'некорректных
символов', либо длины того, что помещается в указанное поле (BSDI 1.1
не проверяет длину, но проверяет наличие некорректных символов) могут оказаться уязвимыми (я
не проверял, теряет программа права суперпользователя или нет, я собирался проверить этой
путём переполнения буфера с помощью моей строки кода командной оболочки).

<p>Я лишь поместил мою строку кода командной оболочки в переменную ENV
(с NOP и ret-адресом обратно в NOP) и отправил
переменную ENV в файл.  Затем прочитал данный файл во время нахождения в chpass/chfn
как новую информацию gecos.
</define-tag>
<define-tag description>программа "screen" имеет переполнение буфера, которое проявляется во время копирования поля gecos.</define-tag>

# do not modify the following line
#include '$(ENGLISHDIR)/security/1997/19970220.data'

© 2014-2024 Faster IT GmbH | imprint | privacy policy