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

Re: Faille critique découverte dans GLIBC



On 28/01/2015 15:00, Sébastien NOBILI wrote:
Bonjour,

Le mercredi 28 janvier 2015 à 14:43, Francois Lafont a écrit :
Le 28/01/2015 14:34, Francois Lafont a écrit :
echo "deb http://http.debian.net/debian/ squeeze-lts main contrib non-free" > /etc/apt/sources.list.d/squeeze-lts.list
apt-get update
apt-get upgrade

Ah, au fait, petite question. Après les commandes ci-dessus,
faut-il que je fasse un reboot ?

Si j'ai bien compris, si un daemon dépend d'une lib, il faut
redémarrer le-dit daemon après la mise à jour de la-dite lib.
Seulement j'ai cru comprendre que globalement, quasiment tous
les daemons (sous Debian) dépendent in fine de la glibc et
qu'au final un reboot est globalement nécessaire. Bref, j'ai
lu je ne sais plus où que l'idée selon laquelle seule la
màj du noyau nécessitait un reboot était inexacte et que le
reboot était également nécessaire pour la màj de la glic.

Bref, ce serait possible d'avoir un avis d'expert sur la question ? ;)
Merci d'avance.

Loin de moi l'idée de me considérer comme tel…


moi non plus mais je voudrais nuancer ta réponse (car en pratique c'est clair qu'un reboot est juste simple et efficace mais: )

- La mise à jour de la glibc se contente peut-être de patcher quelques fichiers (diff), dans ce cas ce sont les programmes/daemons qui les utilisent qui auront besoin de la nouvelle version bien sûr. Peut-être aussi (pour ceux qui ne peuvent pas rebooter leur machine et il y en a, un simple logout/login) peut peut-être légèrement aider

- La libc fourni une librairie (minimale) pour les programmes écrits en C, donc ton démon écrit dans un autre langage ne devrait pas être touché cependant:

- Linux est écrit en C (bravo les gars au passage!), tous les appels systèmes ont été implémenté en C et en assembleur (qd c'était obligé, les registres par exemple ne sont pas directement accessibles en C, ou pour des raisons de performance) et:

Certains appels systèmes en sont des vrais (par exemple fork je crois) mais d'autres ont des wrappers (désolé, je trouve pas la traduction là) autour ex:

Des "appels systèmes" wait, waitpid, wait3, wait4 qui font tous à peu près la même chose (attendre (ou non) la fin d'un fils (présicément celui-là ou non)...) seul wait3 est réellement un appel système, les autres se contentant de l'appeler avec les bonnes options. Et je crois que ces wrappers (et d'autres trucs) dépendent de la libc. A moins qu'ils fassent également parti du noyau en fait.

Bon là je me perd et je dois partir bosser, toute correction à mes propos appréciée, je ne prétend pas à la vérité, c'est juste un point de vue.

Ceci étant dit, bonne journée les gars!

Il y a justement une discussion à ce sujet en ce moment sur debian-security [1].
Tous les programmes qui utilisent de la bibliothèque mise à jour doivent être
redémarrés. On doit donc redémarrer les services qui l'utilisent.

Dans le cas de la libc, ça devient problématique car _tous_ les programmes du
système l'utilisent. Il faut donc redémarrer _tous_ les programmes actuellement
en fonctionnement.

Deux approches :
     - tu les identifies un par un et tu les redémarres un par un (et tu ne fais
       rien d'autre de ta journée);
     - tu rebootes et c'est réglé en quelques minutes.

     1: https://lists.debian.org/debian-security/2015/01/msg00035.html

Seb



--
--
mrr


Reply to: