Un programme tel que su doit être setuid (voir le chapitre 15). Ce programme doit fonctionner avec les privilèges de root afin de basculer les UIDs vers un autre utilisateur. La responsabilité incombre donc à su de refuser les privilèges à quiconque n'est pas de confiance. Ainsi, su demande un mot de passe et le vérifie le fichier passwd avant de procéder plus avant.
A nouveau, la logique du programme est de garantir la sécurité et de fournir une assurance contre les attaques par dépassement de tampon. Si su devait présenter une erreur dans la logique d'authentification, cela permettrait à n'importe qui de modifier l'UID pour lequel l'attaquant n'a pas de privilèges.
Les programmes setuid devraient donc être considérés d'office comme suspects. La plupart des programmes setuid sont de petite taille et simples afin de pouvoir en vérifier la logique de sécurité de manière aussi efficace que possible. Les vulnérabilités peuvent principalement provenir de programmes setuid volumineux et complexe.
(Cet aspect est d'une importance d'autant plus grande que le nombre d'utilisateurs du système est grand).