(Courriels de diversion:
<dechaînent@informatiseriez-blinderas.com>
<embauchaient@anticonstitutionnel-retransmets.com>
<loucherai@effleurerons-remontrent.com>
<curriculum@perciez-tangent.com>
<verbalises@tracasserons-retraduits.com>
<reciproquement@affectueusement-serrerions.com>
<avanceras@renfrogneriez-effrayerais.com>
<sucote@surencheris-analyseurs.com>
<gaspilleriez@raierai-apprivoiserais.com>
<recrachent@syndiques-embosser.com>
)
Jean-Marc Mongrelet a écrit :
La question que je me posai, était de savoir, pourquoi un script
exécuté dont le bit setuid est positionné, n'exécute pas les commandes
(programme) en temps que le propriétaire du script (cad root dans mon
cas)?
Parce qu'il y a un problème de concurrence quand tu penses aux étapes
nécessaires :
- le noyau ouvre le script et lit #!interpréteur args
- le noyau lance "interpréteur args nomDuFichierScript"
Entre les deux, il y a une fénêtre de temps pendant laquelle on
pourrait changer le fichier de script (ce qui enlèverait le caractère
suid, la plupart du temps).
Pour te protéger contre cela, il y a deux mécanismes :
- le noyau n'honore pas les bits suid et sgid sur les fichiers scripts ;
- la plupart des interpréteurs, en particulier les *sh, remmettent
l'identité effective du processus à son identité réelle si on ne leur
spécifie pas explicitiement que c'est OK (option -p pour ksh et consorts).
La première protection, celle du noyau, n'est pas nécessaire dans les
systèmes bien conçus, par exemple Solaris, qui ne passent pas le nom du
fichier script à l'interpréteur, mais un descripteur sur le fichier qu'Ã
ouvert le noyau pour lire #!... Vue la gestion des fichiers UNIX, cela
rend inexploitables les attaques de ce genre.
Je suis étonné que Linux n'ait toujours pas un tel mécanisme.
Il me semble avoir écrit un truc à ce sujet en réponse à jdd il y a
quelques années, mais je suis incapable de le retrouver dans les
archives de linux-31.
--
Marc Thirion | Ramonville Saint-Agne, France
Projet Internet et Citoyenneté : http://www.le-pic.org/
--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>
- Follow-Ups:
- Re: Setuid
- From: Eric Marsden <eric.marsden@free.fr>
- References:
- Setuid
- From: Jean-Marc Mongrelet <jm@nospam.org>
- Re: Setuid
- From: Laurent Laborde <kerdezixe@gmail.com>
- Re: Setuid
- From: Jean-Marc Mongrelet <jm-mongrelet.nospam@ifrance.com>