Может ли код TeX безопасно выполняться из ненадежных источников? - PullRequest
6 голосов
/ 22 января 2009

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

Ответы [ 3 ]

4 голосов
/ 22 января 2009

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

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

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

2 голосов
/ 22 января 2009

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

0 голосов
/ 22 января 2009

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

...