Может ли код TeX безопасно выполняться из ненадежных источников?

MediaWiki позволяет встраивать математический код TeX, который отображается в изображениях и размещается на вики-страницах. Это безопасно? Если кто-то позволяет ненадежным пользователям вводить программы TeX для выполнения интерпретатором, работающим на веб-сервере, открывает ли он сервер для взлома с помощью интерпретатора TeX для чтения файлов с дисков сервера? Есть ли способ безопасно выполнить ненадежный код TeX?

3 ответа

Решение

Очевидно, что TeX может открывать и записывать файлы посредством нормальной работы, что является возможным вектором атаки. Помещение казни в песочницу или тюрьму должно позаботиться об этом.

Не забудьте отключить \write18, который позволяет исходному файлу TeX выполнять команды ОС. Нет веских причин, чтобы разрешить этот механизм.

Что касается самого интерпретатора TeX, я бы сказал, что беспокоиться здесь практически нечего, так как он, вероятно, имеет наименьшее количество ошибок среди всех полнофункциональных интерпретаторов, когда-либо написанных. Другая часть вашего стека будет гораздо большей целью.

Если в вашем дистрибутиве TeX используется библиотека Kpathsea (вероятно, так и есть), см. Раздел "Безопасность" в своей документации.

В теории да.
Это зависит от вашего переводчика TeX. Если в интерпретаторе, который вы используете, обнаружено нарушение безопасности, и это нарушение безопасности означает, что пользователь может выполнить произвольный код, тогда у вас есть проблема.

Другие вопросы по тегам