| Дата публикации: | 01.12.2003 |
| Дата изменения: | 17.10.2006 |
| Всего просмотров: | 1309 |
| Опасность: | Низкая |
| Наличие исправления: | Нет |
| Количество уязвимостей: | 1 |
| CVE ID: | CVE-2003-0972 |
| Вектор эксплуатации: | Локальная |
| Воздействие: | Повышение привилегий |
| CWE ID: | Нет данных |
| Наличие эксплоита: | Нет данных |
| Уязвимые продукты: |
GNU Screen 3.x
GNU Screen 4.x |
| Уязвимые версии: GNU Screen 4.0.1, 3.9.15 и более ранние версии
Описание: Уязвимость обнаружена в GNU Screen. Локальный пользователь может выполнить произвольный код, чтобы получить поднятые привилегии на целевой ситеме. Локальный пользователь может послать от 2 до 3 гигабайт данных к экрану целевого пользователя, чтобы вызвать целочисленное переполнение в параметре 'w_NumArgs' в 'ansi.c' и выполнить произвольный код с set user id (setuid) root привилегиями или (setgid) utmp group привилегиями, в зависимости от инсталляции программы. URL производителя: http://www.gnu.org/software/screen/screen.html Решение: Установите следующее неофициальное исправление:
--- ansi.c.old 2003-11-15 18:04:12.000000000 +0200
+++ ansi.c 2003-11-15 18:04:51.000000000 +0200
@@ -559,7 +559,7 @@
{
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- if (curr->w_NumArgs < MAXARGS)
+ if (curr->w_NumArgs >=3D 0 && curr->w_NumArgs < MAXARGS)
{
if (curr->w_args[curr->w_NumArgs] < 100000000)
curr->w_args[curr->w_NumArgs] =3D
--- resize.c.old 2003-11-27 02:55:07.000000000 +0200
+++ resize.c 2003-11-27 02:58:33.000000000 +0200
@@ -682,6 +682,17 @@
if (wi =3D=3D 0)
he =3D hi =3D 0;
=20
+ if (wi > 1000)
+ {
+ Msg(0, "Window width too large, truncated");
+ wi =3D 1000;
+ }
+ if (he > 1000)
+ {
+ Msg(0, "Window height too large, truncated");
+ he =3D 1000;
+ }
if (p->w_width =3D=3D wi && p->w_height =3D=3D he && p->w_histheight =3D=
=3D hi)
{
debug("ChangeWindowSize: No change.\n");
|
|
| Ссылки: | GNU screen buffer overflow |