URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 115817
[ Назад ]

Исходное сообщение
"Уязвимость в gettext, позволяющая выполнить код при обработк..."

Отправлено opennews , 13-Ноя-18 09:14 
В библиотеке gettext (https://www.gnu.org/software/gettext/), применяемой для создания многоязычных приложений, выявлена (https://usn.ubuntu.com/3815-1/) опасная уязвимость (CVE-2018-18751 (https://security-tracker.debian.org/tracker/CVE-2018-18751)), которая может использоваться для организации выполнения произвольного кода при обработке специально оформленных сообщений в po-файлах. Проблема вызвана двойным освобождением блока памяти (double free) в функции default_add_message, определённой в файле read-catalog.c. В сети уже доступны варианты (https://github.com/CCCCCrash/POCs/tree/master/Bin/Tools-gett...) po-файлов (https://github.com/CCCCCrash/POCs/tree/master/Bin/Tools-gett...), эксплуатирующие уязвимость.

Проблема проявляется только в актуальном выпуске gettext 0.19.8. В кодовой базе gettext проблема была устранена ещё в сентябре 2016 года, без акцента на наличие возможной уязвимости, но данное изменение пока не вошло в состав релиза (последний выпуск gettext 0.19.8 датирован (https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=summary) июнем 2016 года) и новая версия с исправлением ещё не доступна (http://ftp.gnu.org/pub/gnu/gettext/). Уязвимость устранена в Ubuntu (https://usn.ubuntu.com/3815-1/)  и Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=1647044), но остаётся неисправленной  в Debian (https://security-tracker.debian.org/tracker/CVE-2018-18751) и RHEL 7 (https://bugzilla.redhat.com/show_bug.cgi?id=1647044). RHEL 5, RHEL 6, SUSE и openSUSE проблеме не подвержены (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2018-18751) так как используют старые версии gettext без файла "read-catalog.c".

URL: https://usn.ubuntu.com/3815-1/
Новость: https://www.opennet.me/opennews/art.shtml?num=49600


Содержание

Сообщения в этом обсуждении
"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 09:14 
Вот вам и языки с ручным управлением памятью.

*садится и ждет еду*


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено ползкрокодил , 13-Ноя-18 09:58 
Ну а толку? Если есть доступ испортить po-файлы, то можно и исполняемые пошатать как угодно.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Ordu , 13-Ноя-18 10:15 
А разве нельзя подложить свой po файл без доступа в /usr?

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 11:00 
> А разве нельзя подложить свой po файл без доступа в /usr?

.po для людей, для программ .gmo, их из .po получают.
И если вы в /usr писать можете, то у вас уже есть права root,
нафига вам уязвимость?


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 13:04 
Там указано "без доступа в /usr"

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено ig0r , 14-Ноя-18 10:59 
А если ты написал программу, можно подумать ты будешь ревьюить .po файлы в PR если они для незнакомого тебе языка.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено ползкрокодил , 28-Ноя-18 18:22 
Можно даже отревьюить, а потом окажется, что какая-то последовательность иероглифов крашит макось.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 10:32 
Сейчас выдвинут тезис, что ручное управление памятью нужно "осилить". Тезис будет сопровождаться упоминанием о неких "макаках", которым "осиляторство" не под силу. Но то, что этот тезис появится под новостью о gettext, будет подразумевать, что авторы gettext - неисиляторы и макаки. Спрашивается, зачем тогда нам операционная система GNU, если его писали неосиляторы и макаки?

Но если этот тезис выдвинут не будет (в виду неприятных выводов), то это будет означать, что си действительно такой неудачный, что даже "осиляторы" и "немакаки" напишут в нем уязвимый код. Но из этого последует другой вывод -- что следует пользоваться другими языками, где нет ручного управления памятью.


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 10:41 
Что-то твой опус напоминает анекдот про Петьку и логику.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Акакжев , 13-Ноя-18 10:53 
Скорее, про Петьку и нюанс.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено captcha 20168 , 13-Ноя-18 11:06 
> следует пользоваться другими языками, где нет ручного управления памятью

безбожно неэффективный код


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 18:16 
Предрассудки. Ручное управление памятью тоже требует ресурсов, а порой и медленнее GC, который может отрабатывать в отдельном потоке и даже устранять фрагментацию

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Annoynymous , 14-Ноя-18 22:18 
Помнится, в Java был многпоточны

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Annoynymous , 14-Ноя-18 22:19 
Помнится, в Java был многопоточный GC.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 15-Ноя-18 00:03 
Уж каких там только GC не было, а все равно тормозит.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 14:14 
> ручное управление памятью нужно "осилить"
> "макаках", которым "осиляторство" не под силу

Всё правильно изложил.
Да, так оно и есть - с памятью надо обращаться аккуратно. Когда в том огромном объёме кода, написанного немакаками-осиляторами, косяки таки иногда обнаруживаются, это вызывает бурную радость макак, пишущих тормозные поделия на "безопасных" языках.


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 18:18 
Вот только эксплуатировать уязвимость в интерпретаторе намного сложнее, чем в прикладном коде

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 18:19 
Сорри это к 2.11 было

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено IRASoldier , 14-Ноя-18 14:17 
>операционная система GNU

Нет такой операционной системы.


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено девелоперкодошлеп , 14-Ноя-18 14:39 
как это нету, вон, gnu hurd, вчера только в эмуляторе ее запускал.

хотя, конечно, когда доломают все эмуляторы, еще как-то умеющие 32-бита, будут проблемы.


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено beck , 13-Ноя-18 11:11 
В языках с автоматическим управлением памятью управление памятью написано на тех же языках с ручным управлением памятью. И это конец рекурсии, так сказать.

Такого рода уязвимости будут всегда, так как всегда будут находить огрехи в реализациях, компиляторах, железе, драйверах, сочетании всего этого.


"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 16:19 
То есть споры о единственно верном подходе к программированию — удел балаболов и пустомель, в своём развитии ушедших не дальше чёрно-белой картины мира, свойственной подростковому возрасту. Судя по комментариям к новостям на подобную тематику, взрослые люди на опеннет встречаются крайне редко. Меня это печалит.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено beck , 13-Ноя-18 18:51 
Совершенно согласен.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 16:02 
А в языках с ручным управлением памяти давно существует Borrow Checker для защиты от таких ошибок.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Alex_K , 13-Ноя-18 10:18 
Ведь ничего не понятно в том, что написали про подверженные проблеме версии.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено ddd788 , 13-Ноя-18 11:00 
Что там непонятного? Последняя версия выпущена в 2016 году - она и подвержена. Не подверждены дистрибутивы, которые используют более древнюю версию.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 11:25 
Судя по написанному, также не подвержены дистрибутивы, собирающие себе свеженький пакет из гита. Ну либо использующие более античные версии. Хотя проблема не сказать чтобы критичная, разве что можно попытаться хакнуть ленивого разработчика, прислав тому перевод.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 11:50 
Где мой фаззинг, а? Привыкли тестировать мультимедию, привыкайте фаззить пошки.

"Уязвимость в gettext, позволяющая выполнить код при обработк..."
Отправлено Аноним , 13-Ноя-18 14:00 
Напоминает большинство новостей о якобы уязвимостях Linux типа - нужны 3 команды, чтобы сломать то-то и то-то ... Первая команда - sudo ... Бред.