Que signifie le message de noyau suivant?

12

Ce qui suit apparaît / var / log / messages, qu'est-ce que cela signifie?

  Feb 19 22:51:20  kernel: [  187.819487] non-matching-uid symlink following attempted in sticky world-writable directory by sh (fsuid 1001 != 0)

Cela se produit lorsqu'un travail cron était sur le point de s'exécuter.

Marguerite
la source

Réponses:

9

Un processus privilégié peut être amené à remplacer un fichier important (/ etc / passwd, / etc / shadow, etc.) en pointant un lien symbolique dessus. Par exemple, si vous savez que root exécutera un programme qui crée un fichier dans / tmp, vous pouvez poser un piège en devinant quel sera le nom du fichier (généralement / tmp / fooXXX, foo étant le nom du programme et XXX étant le ID de processus) et remplissez / tmp avec les candidats probables pointant vers / etc / shadow. Plus tard, root ouvre le fichier dans / tmp, tronque et écrase / etc / shadow et soudain, plus personne ne peut se connecter au système. Il existe une attaque connexe qui exploite une condition de concurrence entre la vérification de l'existence d'un fichier temporaire et la création du fichier.

Il existe des moyens d'éviter ce problème, notamment une utilisation prudente de mktemp () et mkstemp (), mais tous les programmeurs et utilisateurs ne seront pas conscients de ce risque. En conséquence, un correctif du noyau Linux a été proposé récemment et, apparemment, il a été appliqué au noyau que vous utilisez. Le correctif empêche les liens symboliques suivants dans l'une des situations courantes où le lien malveillant a pu être implanté: un répertoire accessible en écriture avec l'ensemble de bits collants, qui est la façon dont / tmp est normalement configuré sur les systèmes Unix. Au lieu de suivre le lien symbolique, l'appel système tenté échoue avec EACCES et le noyau enregistre le message que vous avez vu.

Quelques bavardages liés sur la liste de diffusion du noyau Linux.

Kyle Jones
la source