Les contributeurs WordPress ont travaillé rapidement au cours des dernières 24 heures pour préparer un 6.4.1 version après maintenance après un bug critique est né d’un changement dans la bibliothèque Requests, provoquant des problèmes de mises à jour sur les serveurs exécutant d’anciennes versions de cURL.

Les sociétés d’hébergement ont commencé à signaler l’impact généralisé du bug. Tom Sommer, de l’une des plus grandes sociétés d’hébergement du Danemark, a déposé un GitHub problème décrivant comment les délais d’attente cURL affectaient les sites :

  • #657 interrompt les téléchargements vers https://api.wordpress.org/ et de nombreux autres sites lors de l’utilisation de Curl 7.29.0 (et peut-être d’autres versions)
  • Error: RuntimeException: Failed to get url 'https://api.wordpress.org/core/version-check/1.7/?locale=en_US': cURL error 28: Operation timed out after 10000 milliseconds with 807 out of -1 bytes received.
  • Cela provoque également des problèmes avec l’API REST dans Site Health avec l’erreur : REST API response: (http_request_failed) cURL error 28: Operation timed out after 10005 milliseconds with XXX out of XXX bytes received”
  • Il empêche également le plugin WordPress et les mises à jour principales, essentiellement tout ce qui repose sur le gestionnaire Curl interne de WordPress.

Le problème est devenu une priorité absolue car il n’était pas clair comment les utilisateurs pourraient recevoir une mise à jour.

« Même si tu répares ça maintenant le problème empêche toute future mise à niveau automatique vers une version 6.4.1, puisque cela interrompt les requêtes Curl, le seul moyen pour les utilisateurs de mettre à jour serait manuellement », a déclaré Sommer. « Plus vous attendez, plus le problème s’aggravera. »

Nexcess a signalé que des dizaines de milliers de sites étaient affectés par le bug. Le problème allait au-delà de ce que la plupart des utilisateurs seraient en mesure de corriger manuellement par eux-mêmes, reléguant les hôtes à déterminer comment mettre à jour leurs clients.

« Tous mes sites Web ont été verrouillés après la mise à jour vers WordPress 6.4 », a rapporté Javier Martín González. « Ceux sans mises à jour fonctionnent normalement. »

Il a également été signalé que le bug provoquait provoquant des problèmes potentiels d’API Stripe, WP-Admin et de performances.

Tiffany Bridge, chef de produit Liquid Web/Nexcess résumé comment ce problème est apparu :

On dirait:

  • Quelqu’un a signalé un bug ayant à voir avec une interaction entre son système de protection contre les intrusions et WordPress
  • Ils a soumis son propre patch vers WordPress
  • Le responsable du projet pour ce domaine a demandé au demandeur de passer des tests, ce qu’il n’a pas fait.
  • Puis ils ont quand même fusionné le PR, malgré le manque de tests
  • Pendant ce temps, les hôtes vont tous devoir annuler nous-mêmes ce changement sur nos propres flottes afin que nos clients puissent toujours bénéficier de petites choses comme les mises à jour du noyau et des plugins si nous exécutons une version cURL affectée. (7.29 confirmé, il y en a peut-être d’autres)

Les principaux contributeurs de WordPress devront aller au fond des choses sur la façon dont ce bug a été autorisé, via un post-mortem ou une autre discussion pour éviter que cela ne se produise à une si grande échelle à l’avenir.

WordPress 6.4.1 met à jour la bibliothèque de requêtes à partir de la version 2.0.8 à 2.0.9. en tant que version de correctif pour atténuer le problème. Cela annule le changement problématique. La version 6.4.1 inclut également correctifs pour trois autres problèmes distincts. Des mises à jour automatiques ont été expédiées ce soir pour toute personne disposant de sites prenant en charge les mises à jour automatiques en arrière-plan.


Source link