Suicide
10.01.2020, 15:07
В утилите e2fsck, поставляемой в составе пакета e2fsprogs (http://e2fsprogs.sourceforge.net/), выявлена (https://blog.talosintelligence.com/2020/01/e2fsprogs-remote-code-execution-vuln-jan-2020.html) уязвимость (https://talosintelligence.com/vulnerability_reports/TALOS-2019-0973) (CVE-2019-5188 (https://security-tracker.debian.org/tracker/CVE-2019-5188)), позволяющая добиться выполнения кода злоумышленника при выполнении проверки файловой системы, содержащей специальным образом оформленные каталоги. Наличие уязвимости подтверждено в выпусках с 1.43.3 по 1.45.4. Уязвимость устранена в обновлении e2fsck 1.45.5 (https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tag/?h=v1.45.5). В дистрибутивах проблема пока остаётся неисправленной (Debian (https://security-tracker.debian.org/tracker/CVE-2019-5188), Arch Linux (https://security.archlinux.org/package/e2fsprogs), SUSE/openSUSE (https://bugzilla.suse.com/show_bug.cgi?id=CVE-2019-5188), Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-5188.html), RHEL (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-5188)).
Уязвимость вызвана ошибкой в функция mutate_name() из файла rehash.c, применяемой при перестроении связанных с каталогом хэш-таблиц, обеспечивающих сопоставление с каталогом всех находящихся в нём файлов. Повреждение связанной с каталогом структуры hash_entry может привести к записи данных атакующего в область вне выделенного буфера. В случае выявления в хэш-таблице привязки к каталогу нескольких файлов с одинаковым именем, утилита e2fsck переименовывает повторяющиеся файлы с добавлением к имени ~0, ~1 и т.п. Для временного хранения нового имени при подобном переименовании в стеке выделяется буфер, размером 256 байт.
Размер копируемых данных определяется выражением "entry->name_len & 0xff", но значение entry->name_len загружается из структуры на диске, а не вычисляется на основе фактического размера имени. Если размер равен нулю, то индекс массива принимает значение -1 и создаются условия для целочисленного переполнения через нижнюю границу буфера (integer underflow) и перезаписи других данных в стеке значением "~0". Для 64-разрядных систем эксплуатация уязвимости оценивается как маловероятная и требующая отсутствия ограничений на размер стека (ulimit -s unlimited). Для 32-разрядных систем эксплуатация считается возможной, но результат сильно зависит от того, как был собран исполняемый файл компилятором.
Для совершения атаки злоумышленнику необходимо определённым образом повредить данные в разделе с ФС ext2, ext3 или ext4. Так как данная операция требует наличия привилегий суперпользователя, уязвимость представляет угрозу при проверке утилитой e2fsck внешних накопителей или полученных извне образов ФС.
09.01.20
http://www.opennet.ru/opennews/art.shtml?num=52162
Уязвимость вызвана ошибкой в функция mutate_name() из файла rehash.c, применяемой при перестроении связанных с каталогом хэш-таблиц, обеспечивающих сопоставление с каталогом всех находящихся в нём файлов. Повреждение связанной с каталогом структуры hash_entry может привести к записи данных атакующего в область вне выделенного буфера. В случае выявления в хэш-таблице привязки к каталогу нескольких файлов с одинаковым именем, утилита e2fsck переименовывает повторяющиеся файлы с добавлением к имени ~0, ~1 и т.п. Для временного хранения нового имени при подобном переименовании в стеке выделяется буфер, размером 256 байт.
Размер копируемых данных определяется выражением "entry->name_len & 0xff", но значение entry->name_len загружается из структуры на диске, а не вычисляется на основе фактического размера имени. Если размер равен нулю, то индекс массива принимает значение -1 и создаются условия для целочисленного переполнения через нижнюю границу буфера (integer underflow) и перезаписи других данных в стеке значением "~0". Для 64-разрядных систем эксплуатация уязвимости оценивается как маловероятная и требующая отсутствия ограничений на размер стека (ulimit -s unlimited). Для 32-разрядных систем эксплуатация считается возможной, но результат сильно зависит от того, как был собран исполняемый файл компилятором.
Для совершения атаки злоумышленнику необходимо определённым образом повредить данные в разделе с ФС ext2, ext3 или ext4. Так как данная операция требует наличия привилегий суперпользователя, уязвимость представляет угрозу при проверке утилитой e2fsck внешних накопителей или полученных извне образов ФС.
09.01.20
http://www.opennet.ru/opennews/art.shtml?num=52162