[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shell-Script suid [était: pon quick]



On Thu, Mar 29, 2001 at 05:52:18PM +0200, Edouard G. Parmelan took time to write:
> Visiblement, le caractère suid/guid des Shell-Script est ignoré.
> Comme ce n'est pas le noyau, c'est un problème avec le shell sh.

Ce n'est pas un problème, c'est tout à fait intentionnel, et c'est
bien le noyau qui fait cela.

C'est une potentielle faille de sécurité sinon.
Les opérations sont ainsi
1 on exécute le script shell
2 le noyau ouvre le fichier
3 scan la première ligne, voit l'invocation d'un prog (#!...)
4 lance le prog et passe le nom du fichier à exécuter
5 le prog relit le fichier pour savoir ce qu'il doit faire.

Le problème étant qu'entre 3 et 5, le contenu du fichier pourrait
changer (race condition), d'autant qu'on ne peut pas prédire à
l'avance le temps que va prendre l'étape 4.
Certains unix ont résolu ce problème en passant le contenu du script
à exécuter via un descripteur de fichier (comme stdin, stdout, au
shell). Aussi le shell dans ce cas est sûr d'exécuter ce que le noyau
a lu.

Cf 
http://www.nic.com/~dave/SecurityAdminGuide/SecurityAdminGuide-17.html
http://security-archive.merton.ox.ac.uk/security-audit-199806/0022.html
et le thread http://lists.insecure.org/bugtraq/1995/Feb/0095.html
(très instructif)

-- 
Patrick.
``C'est un monde qui n'a pas les moyens de ne plus avoir mal.''



Reply to: