2009-01-21 9 views
6

MediaWiki permet d'intégrer du code mathématique TeX qui est rendu en images et publié dans les pages Wiki. Est-ce sûr? Si l'on permet à des utilisateurs non fiables d'entrer des programmes TeX devant être exécutés par un interpréteur exécuté sur un serveur Web, ouvre-t-il le serveur pour être piraté en utilisant l'interpréteur TeX pour lire les fichiers des disques du serveur? Existe-t-il un moyen d'exécuter du code TeX non sécurisé en toute sécurité?Le code TeX peut-il être exécuté en toute sécurité à partir de sources non fiables?

Répondre

4

De toute évidence, TeX est capable d'ouvrir et d'écrire des fichiers en mode de fonctionnement normal, qui est un vecteur d'attaque possible. Mettre l'exécution dans un sandbox ou jail devrait prendre soin de cela.

Assurez-vous de disable\write18, ce qui permet à un fichier source TeX d'exécuter des commandes du système d'exploitation. Il n'y a pas de bonne raison d'autoriser ce mécanisme. En ce qui concerne l'interpréteur TeX lui-même, je dirais qu'il y a peu à s'inquiéter car il a probablement le nombre de bogues le moins significatif de tous les interpréteurs complets jamais écrits. Une autre partie de votre pile sera une cible beaucoup plus grande.

+0

Les raisons d'autoriser \ write18 existent - pour les documents de confiance, bien sûr. dot2tex, par exemple. –

0

En théorie, oui.
Cela dépend de votre interpréteur TeX. Si une violation de sécurité est détectée dans l'interpréteur que vous utilisez et que cette violation de sécurité signifie qu'un utilisateur peut exécuter du code arbitraire, vous avez un problème.

2

Si votre distribution TeX utilise la bibliothèque Kpathsea (ce qui est probablement le cas), consultez sa documentation dans le document the Security section.

+0

Une excellente suggestion. D'après le son, TeX n'aurait pas besoin de tant de fichiers pour effectuer la tâche suggérée par le questionneur, mais d'autres utilisations pourraient ouvrir un peu du système hôte. –

Questions connexes