Mesavanture sur GCC 8.2 voici une cause et solution sur Debian/Ubuntu etc
Bonjour ,
Une mésaventure aux quel je n'étais pas préparé...
sur Debian et c'est dérivé....
je reprends suite à un article sur une vulnérabilité dans Linux.....
"Pour les vulnérabilités qui viennent d'être révélées par Qualys, la plupart des distributions Linux sont encore vulnérables. « À notre connaissance, toutes les distributions Linux basées sur systemd sont vulnérables, mais SUSE Linux Enterprise 15, openSUSE Leap 15.0 et Fedora 28 et 29 ne sont pas exploitables, car leur espace utilisateur est compilé avec la protection -fstack-clash-protection de GCC », expliquent les chercheurs de Qualys."
j'avais signalé à tort mais non sans raison. qu'après avoir recompilé avec l'option -fstack-clash-protection cela ne fonctionnait pas.
je suis allé sur la page GCC org pour voir si il y avait un option de compilation -fstack-clash-protection ainsi que sa mise en œuvre..... et je n'ai pas trouvé de documentation à ce sujet donc j'ai signalé à l'auteur ce problème , ce n'était pas pour le ridiculiser mais plutôt lui montrer mon étonnement ... cette réponse a été enlevé ????
j'ai eu un message en privé me demandant pourquoi je signalais ceci et le bon droit qu'il avait fait en mentionnant l'article . Ce que je trouve normal.... (j'ai essayé de répondre mais sans retour)
je n'ai pas voulu en resté là, pas pour avoir raison mais pour comprendre ....
finalement en reprenant les notes de GCC effectivement il est mentionné la prise en compte -fstack-clash-protection dans la dernière modification lier à 8.2. Mais toujours pas de mise à jour de la doc à ce jour.
Du coup étant sur que je me servais de GCC 8.2 j'ai fini par avoir des doutes et me suis rendu compte qu'une mise à jour avait cassé des liens.
voilà la solution :
en 18.4 c'est le GCC-7 qui est monté de base. (attention aux mises à jour) revérifier avec le contrôle plus bas, si tout est ok si vous avez mis en place l'alternative (8.2)
ne pas utiliser "sudo add-apt-repository ppa:ubuntu-toolchain-r/test" il n'est plus à jour.
sauter le paragraphe si déjà installer
mais celui-ci
https://launchpad.net/~jonathonf/+archive/ubuntu/gcc
Code:
1 2 3 4
|
sudo add-apt-repository ppa:jonathonf/gcc
sudo apt-get update
sudo apt-get install gcc-8 g++-8 |
après avoir installer le 8 et pour qu'il soit pris en compte dans vos compilations.
Prise en compte du compilateur :
Code:
sudo update-alternatives --remove-all gcc
Code:
sudo update-alternatives --remove-all g++
préconiser sur ask ubuntu
Code:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8
contrôle:
Code:
sudo update-alternatives --config gcc
Code:
sudo update-alternatives --config g++
maintenant l'option -fstack-clash-protection etc.... sont prise en compte
surtout c'est 8.2 qui est le moteur de mes compilations
en souhaitant que cela vous aident si d'aventure cela vous arrive et que mon article ne sera mis à la poubelle.