可以从不受信任的来源安全地执行TeX代码吗?

时间:2009-01-21 22:01:51

标签: web-applications latex tex trusted-vs-untrusted

MediaWiki允许人们嵌入TeX数学代码,这些代码被渲染成图像并发布到Wiki页面中。这样安全吗?如果允许不受信任的用户输入要由Web服务器中运行的解释程序执行的TeX程序,是否通过使用TeX解释程序从服务器磁盘读取文件来打开服务器?有没有办法安全地执行不受信任的TeX代码?

3 个答案:

答案 0 :(得分:4)

显然,TeX能够通过正常操作打开和写入文件,这是一种可能的攻击向量。将执行放入sandboxjail应该会解决这个问题。

确保disable \write18,它允许TeX源文件执行操作系统命令。没有充分的理由允许这种机制。

对于TeX解释器本身,我会说很少有人担心,因为它可能对任何功能齐全的解释器编写了最不重要的错误。堆栈的其他部分将是一个更大的目标。

答案 1 :(得分:2)

如果您的TeX发行版使用Kpathsea库(可能会这样做),请参阅其文档中的the Security section

答案 2 :(得分:0)

理论上,是的。
这取决于您的TeX解释器。如果您正在使用的解释器中发现安全漏洞,并且安全漏洞意味着用户可以执行任意代码,那么您就会遇到问题。