Node,js encore !

Ici on parle de logiciels libres et de technologie en général
·
Avatar de l’utilisateur
Message(s) : 146
Inscription : 10 Août 2014 08:36

Node,js encore !

Message par greg » 12 Mai 2016 11:41

Bon, là c'est tellement énorme que je ne peux résister.

Ce matin je tombe sur une dépêche Linuxfr traitant de node.js et de leur version 6. [1] Je passe sur le contenu en lui-même, qui traite des améliorations et régressions de cette version en passant rapidement sur le bordel que constituent les multiples versions.

Mais là deux choses me sautent aux yeux :

Avec npm2, les dépendances d'une dépendance s'installaient dans le répertoire node_modules de la dépendance. Et donc, on pouvait avoir un même module avec deux versions différentes au sein d'un même projet, si deux dépendances incluaient ce module dans des versions différentes

Ok. donc à part que c'est d'une craditude totale, leur "gestionnaire de paquets" NPM est tout sauf un gestionnaire. Si c'est juste pour récupérer un tar.gz et le décompresser au bon endroit, faut pas appeler ça un gestionnaire de paquets, hein. Surtout en version "2"

Bon, les gars sont des porcs, OK, mais ça changera avec NPM3.. soit.

Par contre, là, on a une petite phrase qui n'a l'air de rien, mais qui mériterait probablement la réhabilitation de la balise <blink> tellement c'est énorme :
Peu de temps après la sortie de la version 6.0.0, des failles OpenSSL ont été annoncées, ce qui a conduit à la sortie d'une version 6.1.0.



Première analyse : (la curiosité)
"tiens, une MAJ openssl nécessite une nouvelle version ? il y aurait eu un changement d'API de la lib ?"

Seconde analyse : (le détail)
"ah les boulets, c'est quoi ce saut de version mineure juste pour un changement dans une dépendance externe ?"

Troisième analyse : (je me rappelle qu'on parle de node.js, j'active le principe de bêtise maximale)
"il auraient quand même pas compilé openssl en statique les cons ?"

Eh bien, *roulement de tambour* oui !

NODE.JS est COMPILÉ STATIQUEMENT !
Node.js v0.10 and v0.12 both use OpenSSL v1.0.1 and Node.js v4, v5 and v6 use OpenSSL v1.0.2 and releases from nodejs.org and some other popular distribution sources are statically compiled. Therefore, all active release lines are impacted by this update.
[2]

Ces mecs sont pire que des boulets, ce sont des dangers publics !

Tu mets à jour openssl sur ton système dès qu'une faille est patchée, tout ça pour devoir attendre que ces messieurs de Node fassent aussi la MAJ, recompilent et postent les nouveaux paquets, ce qui prend entre 24 et 48 heures APRES PUBLICATION DES FAILLES. Évidemment, pendant ce laps de temps, ton serveur est vulnérable et tout le monde sait quelle est la faille...


Je ne détaillerai pas ce que j'ai envie de faire à ce genre de mecs, on croirait que je me suis auto-radicalisé sur Internet :-)

[1] http://linuxfr.org/news/node-js-passe-l ... me-vitesse
[2] https://nodejs.org/en/blog/vulnerabilit ... -may-2016/

Très vieux Pingouin
Message(s) : 265
Inscription : 23 Juil 2015 13:56

Re: Node,js encore !

Message par frem » 12 Mai 2016 14:11

Oh oh… Joli sujet !

Mais rassure-moi, dans les distributions, les paquets node.js sont compilés avec une dépendance dynamique à OpenSSL ?

En tout cas, c’est là qu’on voit à qui est destiné node.js  : aux développeurs, et sans se soucier d’aucune façon d’une potentielle mise en prod !
Et dire qu’on nous vend la révolution des "devops" comme étant la convergence de ces deux mondes, avec des développeurs qui comprennent l’administration… En voyant ça, j’ai plutôt l’impression que c’est l’arrivée du mode "ça tourne sur ma machine → je mets la même chose en prod", sans se soucier de la sécurité, des perfs,….

Aller, pour continuer sur le sujet : Il était une fois le JavaScript full-stack et Petit moment de nostalgie. ;-)

·
Avatar de l’utilisateur
Message(s) : 146
Inscription : 10 Août 2014 08:36

Re: Node,js encore !

Message par greg » 12 Mai 2016 16:22

Dans les distributions, les paquets sont "pas à jour, donc inutilisables" dixit les devs :-)

par exemple, Debian est en 0.10 (mais en dynamique)

mais ca n'a pas d'importance, parce que de toutes façons, il y a tellement de dépendances npm qui seront jamais packagées, que c'est peine perdue.

C'est pour ce genre de trucs que les "solutions" comme Docker existent et sont malheureusement mises en prod.
D'un point de vue pur sysadmin, ça se défend : au moins le merdier est contenu dans un seul répertoire.

Par contre, au niveau sécurité, c'est YOLO : les dependances seront jamais mises à jour. Ce genre de truc n'est valable que dans le cadre du dev continu du soft. On code, on en profite pour chopper les dernières dépendances à la mode, on balance ça dans une archi d'intégration continue et ça roule... jusqu'au moment où on arrête de développer.
Une fois le projet "fini", zero mises à jour possibles.

En fait, c'est l'obsolescence programmée des softs :-)

Retour vers Technologie et Logiciels Libres