Faille critique dans le paquet NPM de React Native, la mise à jour s’impose

Le 05 novembre à 15h35

Le 05 novembre à 15h35

Commentaires (7)

votre avatar
Sérieusement, le fix pour une CVE de cette ampleur n'est apporté que par une upgrade majeure? Pas de backport? D'autant qu'à ma connaissance, react n'est pas des plus simples à garder à jour (enfin je sais pas pour react-native, j'imagine que c'est pareil). Ca ressemble à du foutage de gueule?

Bon sinon y'a ce workaround:
For improved security, or if upgrading is not possible, bind the development server to the localhost interface explicitly, by including the “–host 127.0.0.1” flag, per the examples below:
npx react-native start --host 127.0.0.1
npx @react-native-community/cli start --host 127.0.0.1
votre avatar
je ne sais pas quel est l'usage chez React, mais en Java le backport n'est pas l'usage classique — j'ai en tête l'exemple de log4shell, qui avait imposé de reprendre l'intégralité des applis utilisant log4j pendant la période de Noël il y a quelques années.
votre avatar
Mais log4j si je ne m'abuse c'est une petite équipe bénévole, alors qu'ici on parle de Meta. On peut avoir des niveaux d'exigence différents en fonction de ça amha. Il y avait aussi cet autre projet (libxml peut-être ?) dont le mainteneur bénévole avait poussé une gueulante face à l'injonction de fixer les CVEs. Je comprends tout à fait ça.
votre avatar
Je vois pas trop en quoi c’est la faute du package. Laisser un serveur de dev en open bar sur le net, c’est ça le problème…
votre avatar
Non, ça c'est le facteur aggravant, mais la CVE à la base c'est un "unsanitized user input" qui conduit au RCE.
Le fait d'ouvrir un serveur sur un poste de dev est classique, pas forcément problématique (ce qui l'est un peu plus c'est le comportement par défaut de binder sur toutes les interfaces et pas seulement localhost, via un simple "npm start" ultra commun)
votre avatar
Malheureusement, pas mal de services ont la mauvaise habitude d'écouter par défaut sur tous les ports disponibles et sans aucun moyen de configurer quoi que ce soit.

Il ne reste que le pare-feux pour limiter la casse dans ce cas.

Et en exemple, il y a le célèbre bind :kill:
votre avatar
C'est peut-être culturel ( je suis actuellement occupé à me coltiner les formations Veracode sur la sécurité - cursus imposé par ma boîte ), mais je dirais bien que la cause principale n'est pas tant d'avoir "oublié" de contrôler la validité de l'input, mais plutôt d'avoir considéré que c'est une super idée de proposer une API permettant à un appelant (même restreint à localhost) d'ouvrir une URL (même "sanitisée") sans autre forme d'autorisation...

Faille critique dans le paquet NPM de React Native, la mise à jour s’impose

Fermer