Найдена возможность удаленному злоумышленнику получить доступ к файлам за корневой директорией, а также повесить сервер, используя переполнение буфера, также возможно исполнение потенциально опасного кода под административными привилегиями.

Уязвимость присутствует в версии WFTP 3.00 и 2.41. 

Для доступа в вышестоящую директорию достаточно набрать cd …/, далее можно просматривать содержание текущей директории командой LS, а также заходить в любые поддиректории. Используя команду GET можно скачать любой файл.

Для переполнения буфера, достаточно попытаться указать путь к очень длинному имени файла заполненный точками. Юзер, который имеет доступ на запись, может создать специальный «переполняемый» файл, затем используя команду LS, вызываем переполнение буфера. 

Пример:

Создаем файл в корневой директории с очень длинным именем ~255 символов, затем делаем пользовательскую директорию с именем файла состоящим, например из 20 случайных символов, далее залогиненый пользователь делает следующее:

CD
…………………………………………………………/
CD homedir
LS

Или даже более легкий, делаем что-то вроде следующего:
CD …………./
LS
CD
…………………………………………………………………………./
LS
CD ………………………………../
LS
И т.д. В конечном счете это приведет к краху сервера, т.к. точки добавляются в буфер.

Также можно вызвать переполнение буфера следующей командой, 
MKDIR
AAAAAAAAA[Ax100]

CD
AAAAAAAAAAA[Ax100]

LS -d

Для устранения данной неполадки, требуется в файле WFTPD.ini, в разделе «Server», указать
GFPNMethod=0.



Оставить мнение