{"id":22083,"date":"2026-10-23T05:56:32","date_gmt":"2026-10-22T21:56:32","guid":{"rendered":"https:\/\/synopower.club\/?p=22083"},"modified":"2026-10-23T05:56:32","modified_gmt":"2026-10-22T21:56:32","slug":"synology-php2shell-emergency-patch","status":"publish","type":"post","link":"https:\/\/synopower.club\/fr\/synology-php2shell-emergency-patch\/","title":{"rendered":"PHP2Shell sur Synology\u00a0: Comment nous avons corrig\u00e9 six sites en une journ\u00e9e"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>PHP2Shell<\/strong> CVE-2026-109618 et CVE-2026-109619, deux failles critiques du moteur PHP permettant l&#039;ex\u00e9cution de code \u00e0 distance sans authentification, ont \u00e9t\u00e9 d\u00e9sign\u00e9es par l&#039;industrie. Les d\u00e9tails ont fuit\u00e9 le 20 octobre 2026, la veille de la divulgation coordonn\u00e9e, et le projet PHP a publi\u00e9 des correctifs d&#039;urgence le 21 octobre. Le bogue se situant dans l&#039;interpr\u00e9teur et non dans une application, l&#039;application de correctifs \u00e0 WordPress, Joomla ou MediaWiki est inefficace. Seule une nouvelle version de PHP peut r\u00e9soudre le probl\u00e8me. Nous h\u00e9bergeons six sites WordPress publics sur du mat\u00e9riel Synology, et l&#039;introduction de PHP2Shell a n\u00e9cessit\u00e9 la reconstruction de chacun d&#039;eux la m\u00eame semaine. Ce guide explique la nature du bogue, comment le corriger sur DSM via le Centre de paquets, comment le g\u00e9rer lorsqu&#039;un site s&#039;ex\u00e9cute dans un conteneur, et \u00e9tablit une comparaison pertinente entre les solutions propos\u00e9es par le Synology et celles mises en \u0153uvre par les autres fournisseurs de NAS.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Point SynoPower Club :<\/strong>Nos six sites ont \u00e9t\u00e9 corrig\u00e9s en moins d&#039;une journ\u00e9e ouvrable apr\u00e8s la publication de l&#039;avis de s\u00e9curit\u00e9 concernant PHP2Shell. Ce qui a rendu cela possible, ce n&#039;est pas un exploit, mais la publication par Synology de correctifs le jour m\u00eame de l&#039;avis. Le correctif Synology-SA-26:14 a \u00e9t\u00e9 publi\u00e9 le 22 octobre avec le statut \u00ab\u00a0R\u00e9solu\u00a0\u00bb et un tableau complet des versions corrig\u00e9es jusqu&#039;\u00e0 PHP 7.4. Le m\u00eame jour, QNAP publiait QSA-26-18 avec le statut \u00ab\u00a0En cours de correction\u00a0\u00bb et la mention \u00ab\u00a0\u00c0 annoncer\u00a0\u00bb dans chaque cellule de version corrig\u00e9e. ASUSTOR a r\u00e9agi en supprimant les anciennes versions de PHP d&#039;App Central au lieu de les corriger. Si vous h\u00e9bergez vous-m\u00eame un site web public sur un NAS, ce d\u00e9lai n&#039;est pas un argument marketing. Il fait toute la diff\u00e9rence entre mettre \u00e0 jour un paquet et rendre votre site inaccessible pendant l&#039;attente.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"what-is-php2shell-and-why-it-is-different\" class=\"wp-block-heading\">Qu&#039;est-ce que PHP2Shell et pourquoi est-il diff\u00e9rent ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP2Shell n&#039;est pas un simple bug, mais un ensemble de d\u00e9faillances li\u00e9es \u00e0 la gestion de la m\u00e9moire par PHP apr\u00e8s une requ\u00eate ayant entra\u00een\u00e9 une insuffisance de m\u00e9moire. PHP utilise <code>longjmp()<\/code> Pour \u00e9viter les erreurs fatales, y compris les erreurs de m\u00e9moire insuffisante, ce saut ignore le code de nettoyage qui permettrait normalement au moteur de retrouver un \u00e9tat connu. Une partie de cet \u00e9tat est globale et persiste lors de la prochaine requ\u00eate trait\u00e9e par le m\u00eame processus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La vuln\u00e9rabilit\u00e9 CVE-2026-109618 est li\u00e9e \u00e0 une insuffisance de m\u00e9moire. Une requ\u00eate HTTP malveillante \u00e9puise la m\u00e9moire alors que les donn\u00e9es ne sont que partiellement initialis\u00e9es, ce qui a pour cons\u00e9quence que la routine de nettoyage parcourt des structures inachev\u00e9es. La vuln\u00e9rabilit\u00e9 CVE-2026-109619 est li\u00e9e \u00e0 une utilisation de m\u00e9moire lib\u00e9r\u00e9e\u00a0: un \u00e9tat global pointant vers la m\u00e9moire lib\u00e9r\u00e9e lors d&#039;une requ\u00eate peut \u00eatre lu par une requ\u00eate ult\u00e9rieure sur le m\u00eame n\u0153ud de calcul, ce qui permet l&#039;ex\u00e9cution de code ou la divulgation de donn\u00e9es en m\u00e9moire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deux caract\u00e9ristiques rendent PHP2Shell plus dangereux que les alertes PHP habituelles. Premi\u00e8rement, il s&#039;agit d&#039;une vuln\u00e9rabilit\u00e9 de pr\u00e9-authentification. Les deux failles se d\u00e9clenchent avant toute authentification au niveau de l&#039;application\u00a0; par cons\u00e9quent, un syst\u00e8me de connexion, un plugin d&#039;adh\u00e9sion ou un mot de passe administrateur ne prot\u00e8gent en rien. Deuxi\u00e8mement, la variante de divulgation de m\u00e9moire expose la m\u00e9moire du processus worker, et un worker PHP sur un site WordPress peut contenir des identifiants de base de donn\u00e9es, des jetons d&#039;API et des cl\u00e9s de paiement. Une simple lecture de m\u00e9moire n&#039;a pas besoin d&#039;atteindre l&#039;ex\u00e9cution de code pour compromettre votre s\u00e9curit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les deux vuln\u00e9rabilit\u00e9s PHP2Shell ont obtenu un score CVSS v4.0 de 9,2 selon l&#039;\u00e9quipe de s\u00e9curit\u00e9 PHP. Synology leur a attribu\u00e9 un score de 9,8 sur CVSS v3.1 dans son propre avis de s\u00e9curit\u00e9. Des \u00e9chelles diff\u00e9rentes pour une m\u00eame conclusion. Les rapports d&#039;exploitation sont contradictoires\u00a0: watchTowr indique avoir constat\u00e9 des tentatives d&#039;exploitation de son r\u00e9seau de honeypots, tandis que Bitdefender n&#039;a rien signal\u00e9 dans ses donn\u00e9es t\u00e9l\u00e9m\u00e9triques au moment de la r\u00e9daction, et QNAP affirme n&#039;avoir re\u00e7u aucun signalement d&#039;exploitation ciblant sp\u00e9cifiquement ses produits.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"eager\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp\" alt=\"Synology-SA-26:14 Avis PHP2Shell indiquant le statut R\u00e9solu et le tableau des versions corrig\u00e9es\" class=\"wp-image-22078\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1000x609.webp 1000w\"  fetchpriority=\"high\"\/><figcaption class=\"wp-element-caption\">Synology-SA-26:14, publi\u00e9 le 22 octobre 2026 \u00e0 19:45 UTC+8 avec le statut R\u00e9solu.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"php2shell-vs-a-normal-wordpress-exploit\" class=\"wp-block-heading\">PHP2Shell contre une faille de s\u00e9curit\u00e9 WordPress classique<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La plupart des probl\u00e8mes rencontr\u00e9s sur un site WordPress public proviennent de failles de s\u00e9curit\u00e9 li\u00e9es \u00e0 des plugins. Le sch\u00e9ma est classique\u00a0: un plugin introduit un point d&#039;acc\u00e8s REST d\u00e9fectueux, un outil d&#039;analyse le d\u00e9tecte, vous mettez \u00e0 jour le plugin et la faille est corrig\u00e9e. PHP2Shell rompt radicalement avec cette habitude, et l&#039;audit syst\u00e9matique des plugins s&#039;av\u00e8re ici un effort vain.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Aspect<\/th><th>CVE typique des plugins<\/th><th>PHP2Shell<\/th><\/tr><\/thead><tbody><tr><td>L\u00e0 o\u00f9 vit l&#039;insecte<\/td><td>Code de l&#039;application (plugin ou th\u00e8me)<\/td><td>L&#039;interpr\u00e9teur PHP lui-m\u00eame<\/td><\/tr><tr><td>Qui peut le d\u00e9clencher ?<\/td><td>N\u00e9cessite souvent un r\u00f4le d&#039;abonn\u00e9 ou d&#039;administrateur.<\/td><td>Personne. Pr\u00e9-authentification, avant l&#039;ex\u00e9cution de la logique de l&#039;application.<\/td><\/tr><tr><td>La mise \u00e0 jour de WordPress est-elle utile\u00a0?<\/td><td>G\u00e9n\u00e9ralement oui<\/td><td>Non. Les mises \u00e0 jour du noyau et des plugins sont sans importance.<\/td><\/tr><tr><td>Est-ce qu&#039;un pare-feu applicatif f\u00e9minin (WAF) l&#039;emp\u00eache ?<\/td><td>G\u00e9n\u00e9ralement, une fois qu&#039;une r\u00e8gle existe<\/td><td>En partie. Les r\u00e8gles de forme de requ\u00eate ne g\u00e8rent pas le chemin OOM.<\/td><\/tr><tr><td>Qu&#039;est-ce qui le r\u00e9sout r\u00e9ellement ?<\/td><td>Mise \u00e0 jour du plugin<\/td><td>Une nouvelle version de PHP, rien d&#039;autre<\/td><\/tr><tr><td>Rayon d&#039;explosion<\/td><td>Un site, une fonctionnalit\u00e9<\/td><td>Tous les sites PHP h\u00e9berg\u00e9s sur le serveur, simultan\u00e9ment.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est cette derni\u00e8re ligne qui explique pourquoi PHP2Shell a n\u00e9cessit\u00e9 une journ\u00e9e enti\u00e8re de travail au lieu d\u2019un apr\u00e8s-midi. Un simple paquet PHP partag\u00e9 sur un NAS peut \u00eatre h\u00e9berg\u00e9 par une douzaine de machines virtuelles Web Station, et une seule image de conteneur peut servir de base \u00e0 plusieurs sites. Les correctifs ne sont pas appliqu\u00e9s par site, mais par environnement d\u2019ex\u00e9cution\u00a0; il faut donc recenser tous les environnements d\u2019ex\u00e9cution avant de pouvoir consid\u00e9rer que le travail est termin\u00e9.<\/p>\n\n\n\n<h2 id=\"how-to-tell-if-your-nas-is-exposed\" class=\"wp-block-heading\">Comment savoir si votre NAS est expos\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&#039;\u00e9valuation de votre exposition \u00e0 PHP2Shell commence par la distinction de deux questions distinctes\u00a0: le syst\u00e8me contient-il une version de PHP vuln\u00e9rable et cette version est-elle accessible depuis Internet\u00a0? Synology \u00e9tablit explicitement cette distinction\u00a0: DSM int\u00e8gre un composant PHP interne utilis\u00e9 par le syst\u00e8me d&#039;exploitation, et Synology pr\u00e9cise qu&#039;il ne comporte aucun module accessible de l&#039;ext\u00e9rieur et, par cons\u00e9quent, aucune surface d&#039;attaque expos\u00e9e. Le risque associ\u00e9 \u00e0 ce composant est minime, et le correctif est pr\u00e9vu pour une version ult\u00e9rieure de DSM afin que les analyses de vuln\u00e9rabilit\u00e9 cessent de le signaler.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les packages pertinents pour PHP2Shell sont ceux qui permettent d&#039;ex\u00e9cuter du PHP sur le Web. La liste Synology comprend Calendar, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station et WordPress. Si vous avez install\u00e9 et accessible l&#039;un de ces packages, vous \u00eates concern\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez directement les versions plut\u00f4t que de vous fier \u00e0 un tableau de bord. Dans le Centre de paquets, les paquets PHP install\u00e9s affichent leur version sur la vignette, et la notification de mise \u00e0 jour indique la version cible. Depuis un terminal, interrogez directement l&#039;environnement d&#039;ex\u00e9cution\u00a0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Synology Package PHP (adaptez le chemin \u00e0 la version que vous utilisez) \/volume1\/@appstore\/PHP8.2\/usr\/local\/bin\/php -v # Site conteneuris\u00e9 docker exec php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La raison d&#039;insister sur <code>php -v<\/code> Lors d&#039;un audit PHP2Shell, il est crucial de v\u00e9rifier que tous les autres signaux sont trompeurs. La sortie de compilation peut indiquer une r\u00e9ussite tout en r\u00e9utilisant une couche en cache, un tableau de bord peut afficher un paquet comme \u00e9tant \u00e0 jour alors que le processus en cours d&#039;ex\u00e9cution ne l&#039;est pas, et un en-t\u00eate de r\u00e9ponse HTTP peut \u00eatre supprim\u00e9 par un CDN avant m\u00eame que vous ne le voyiez. Deux de nos six sites \u00e9taient signal\u00e9s comme op\u00e9rationnels par leurs interfaces d&#039;administration alors qu&#039;ils utilisaient encore un interpr\u00e9teur non patch\u00e9.<\/p>\n\n\n\n<h2 id=\"patching-php2shell-on-synology-in-4-steps\" class=\"wp-block-heading\">Patch PHP2Shell sur Synology en 4 \u00e9tapes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour un site Web Station sous DSM, la correction compl\u00e8te du probl\u00e8me PHP2Shell consiste en une mise \u00e0 jour du Centre de paquets. Synology publie des correctifs de s\u00e9curit\u00e9 PHP pour DSM 7.4, 7.3 et 7.2. Apr\u00e8s la mise \u00e0 jour du paquet PHP, les paquets d\u00e9pendants red\u00e9marrent automatiquement, ce qui r\u00e9sout le probl\u00e8me. Mail Station constitue une exception document\u00e9e et n\u00e9cessite une mise \u00e0 jour manuelle.<\/p>\n\n\n<div id=\"rank-math-howto\" class=\"rank-math-block\" >\n<div class=\"rank-math-howto-description\">\n\n<\/div>\n\n<div class=\"rank-math-steps\">\n<div id=\"step-1\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Consultez l&#039;avis<\/h3>\n<div class=\"rank-math-step-content\"><p>Ouvrez le fichier Synology-SA-26:14 et notez la version corrig\u00e9e pour chaque branche PHP install\u00e9e. Les versions cibles sont\u00a0: 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 et 8.4.27-0051. PHP 7.3 n&#039;est pas pris en charge car il n&#039;est plus maintenu.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-2\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Mise \u00e0 jour via le centre de colis<\/h3>\n<div class=\"rank-math-step-content\"><p>Dans DSM, ouvrez le Centre de paquets et consultez la section \u00ab\u00a0Install\u00e9s\u00a0\u00bb. Chaque paquet PHP vuln\u00e9rable affiche une mise \u00e0 jour disponible avec la nouvelle version en ligne. Cliquez sur \u00ab\u00a0Mettre \u00e0 jour\u00a0\u00bb pour chaque branche PHP list\u00e9e et mettez \u00e0 jour Synology Calendar et Mail Station si vous les utilisez.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-3\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Laissez les personnes \u00e0 charge red\u00e9marrer<\/h3>\n<div class=\"rank-math-step-content\"><p>Les paquets d\u00e9pendant de PHP red\u00e9marrent automatiquement une fois la mise \u00e0 jour de PHP termin\u00e9e\u00a0; c\u2019est ce red\u00e9marrage qui permet d\u2019appliquer la correction. Mail Station fait exception et doit \u00eatre mis \u00e0 jour manuellement depuis le Centre de paquets.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-4\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">V\u00e9rifiez l&#039;interpr\u00e9teur en cours d&#039;ex\u00e9cution.<\/h3>\n<div class=\"rank-math-step-content\"><p>Ne vous fiez pas au tableau de bord. Ex\u00e9cutez la commande `php -v` sur le chemin du paquet ou \u00e0 l&#039;int\u00e9rieur du conteneur et v\u00e9rifiez que le num\u00e9ro de build correspond \u00e0 l&#039;avis de s\u00e9curit\u00e9. Assurez-vous ensuite que chaque h\u00f4te virtuel Web Station est bien li\u00e9 \u00e0 un profil que vous avez mis \u00e0 jour.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"803\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp\" alt=\"Le centre de paquets Synology indique qu&#039;une mise \u00e0 jour de PHP 8.2 est disponible vers la version 8.2.35-0171.\" class=\"wp-image-22079\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-300x172.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1024x587.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-768x441.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-600x344.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-400x229.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1000x574.webp 1000w\" \/><figcaption class=\"wp-element-caption\">Le centre de paquets propose PHP 8.2.35-0171, la version mentionn\u00e9e dans l&#039;avis.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La capture d&#039;\u00e9cran ci-dessus provient de l&#039;une de nos machines, le lendemain matin de la publication de l&#039;avis de s\u00e9curit\u00e9 concernant PHP2Shell. Notez que le panneau \u00ab\u00a0Nouveaut\u00e9s\u00a0\u00bb indique directement la version amont, ce qui permet de faire correspondre le suffixe de build Synology \u00e0 la version de PHP sans avoir \u00e0 deviner. Synology Calendar appara\u00eet dans la m\u00eame liste de mises \u00e0 jour \u00e0 la version 3.0.4-21435, qui correspond exactement \u00e0 la version recommand\u00e9e par l&#039;avis de s\u00e9curit\u00e9.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"793\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp\" alt=\"Bo\u00eete de dialogue de confirmation du Centre de paquets Synology\u00a0: mise \u00e0 jour de PHP 8.2 vers la version 8.2.35-0171\" class=\"wp-image-22080\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-300x170.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1024x580.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-768x435.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-600x340.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-400x227.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1000x566.webp 1000w\" \/><figcaption class=\"wp-element-caption\">La bo\u00eete de dialogue de mise \u00e0 jour nomm\u00e9e PHP 8.2.35-0171, publi\u00e9e par Synology Inc.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Attention aux pi\u00e8ges de PHP2Shell pour les utilisateurs de Web Station\u00a0: une machine DSM peut avoir plusieurs branches PHP install\u00e9es simultan\u00e9ment, et chaque h\u00f4te virtuel est li\u00e9 \u00e0 un profil. La mise \u00e0 jour du profil par d\u00e9faut est sans effet sur un site associ\u00e9 \u00e0 une autre branche. Commencez par lister les profils, mettez-les tous \u00e0 jour, puis v\u00e9rifiez la liaison de chaque site sous Web Service.<\/p>\n\n\n\n<h2 id=\"which-dsm-packages-are-affected\" class=\"wp-block-heading\">Quels sont les packages DSM concern\u00e9s\u00a0?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le message d&#039;erreur concernant Synology sur PHP2Shell est plus restrictif que ne le laissait entendre le message d&#039;erreur. Seuls les syst\u00e8mes utilisant certains paquets d\u00e9pendants de PHP sont concern\u00e9s, et Synology Drive n&#039;en fait pas partie. IDrive figure dans la liste, mais il s&#039;agit d&#039;un logiciel tiers.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Accessible via le Web et prioritaire.<\/strong> Web Station, WordPress, Joomla, MediaWiki, vtigerCRM, KodExplorer et phpMyAdmin. Ces outils permettent de diffuser du code PHP \u00e0 quiconque peut y acc\u00e9der.<\/li>\n\n\n\n<li><strong>Courrier et calendrier.<\/strong> Mail Station n\u00e9cessite une mise \u00e0 jour manuelle apr\u00e8s l&#039;installation du paquet PHP. Le calendrier Synology dispose de sa propre version fixe (3.0.4-21435).<\/li>\n\n\n\n<li><strong>Le composant interne du DSM.<\/strong> Pr\u00e9sent mais non accessible de l&#039;ext\u00e9rieur, correctif report\u00e9 \u00e0 une version ult\u00e9rieure du DSM, risque jug\u00e9 minimal par Synology.<\/li>\n\n\n\n<li><strong>Les conteneurs ne sont pas couverts.<\/strong> L&#039;environnement d&#039;ex\u00e9cution PHP int\u00e9gr\u00e9 \u00e0 Container Manager est modifiable par vos soins. Aucune mise \u00e0 jour de paquet ne le modifiera, ce qui explique pourquoi un utilisateur de NAS pense avoir termin\u00e9 alors que ce n&#039;est pas le cas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous utilisez une version de DSM ant\u00e9rieure \u00e0 la version 7.2, Synology recommande de d\u00e9sactiver temporairement les paquets concern\u00e9s jusqu&#039;\u00e0 la disponibilit\u00e9 d&#039;une version corrig\u00e9e. DSM 7.2 est lui-m\u00eame indiqu\u00e9 comme obsol\u00e8te dans la d\u00e9claration, bien qu&#039;il ait b\u00e9n\u00e9fici\u00e9 de ces mises \u00e0 jour PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le cas critique de PHP2Shell concerne PHP 7.3 et les versions ant\u00e9rieures. La branche Synology ne prendra pas en charge la version 7.3 car elle n&#039;est plus maintenue et aucune mise \u00e0 jour n&#039;a \u00e9t\u00e9 publi\u00e9e pour les versions 7.3 et ant\u00e9rieures. Certaines distributions Linux proposent des r\u00e9troportages pour d&#039;anciennes versions, mais un paquet PHP Synology n&#039;est pas un paquet de distribution. Si un site n\u00e9cessite PHP 7.3 ou 5.6 pour fonctionner, aucun correctif ne sera disponible et les seules solutions sont de migrer le site vers une branche prise en charge, de le prot\u00e9ger par un pare-feu applicatif web (WAF) ou de le retirer d&#039;Internet.<\/p>\n\n\n\n<h2 id=\"how-container-site-owners-handle-php2shell\" class=\"wp-block-heading\">Comment les propri\u00e9taires de sites de conteneurs g\u00e8rent PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cinq de nos six sites utilisent WordPress dans Docker plut\u00f4t que dans Web Station, et c&#039;est l\u00e0 que PHP2Shell devient int\u00e9ressant, car le Centre de paquets ne peut pas vous aider. L&#039;environnement d&#039;ex\u00e9cution d\u00e9pend du contenu de l&#039;image, et reconstruire une image n&#039;est pas la m\u00eame chose que la mettre \u00e0 jour.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le premier probl\u00e8me rencontr\u00e9 avec PHP2Shell, et celui qui risque le plus d&#039;affecter d&#039;autres utilisateurs, est que la reconstruction d&#039;une image personnalis\u00e9e r\u00e9utilise la couche de base mise en cache. Une image non \u00e9pingl\u00e9e <code>DEPUIS<\/code> L&#039;\u00e9tiquette \u00ab\u00a0\u00e0 jour\u00a0\u00bb ne signifie pas \u00ab\u00a0fra\u00eeche\u00a0\u00bb. L&#039;une de nos images avait \u00e9t\u00e9 reconstruite quatre jours auparavant et contenait encore une version PHP datant de juillet 2025, avec plus d&#039;un an de correctifs de s\u00e9curit\u00e9 en retard, car rien n&#039;avait forc\u00e9 Docker \u00e0 r\u00e9cup\u00e9rer \u00e0 nouveau la base.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Incorrect\u00a0: r\u00e9utilise silencieusement la couche de base mise en cache localement\u00a0: `docker build -t mysite .` # Correct\u00a0: toujours republier l\u2019image de base\u00a0: `docker build --pull -t mysite .` # Ensuite, d\u00e9marrez uniquement le service souhait\u00e9, sans lancer les services inactifs\u00a0: `docker compose up -d --no-deps wordpress` # Et v\u00e9rifiez ce qui compte vraiment\u00a0: `docker exec wordpress php -v`<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La seconde erreur de PHP2Shell est plus grave car elle signale une r\u00e9ussite. Le transfert de la sortie de compilation via <code>queue<\/code> masque un \u00e9chec de compilation, car le code de sortie d&#039;un pipeline appartient \u00e0 la derni\u00e8re commande qui le compose et <code>d\u00e9finir -e<\/code> ne se d\u00e9clenche jamais. L&#039;\u00e9tape de composition recr\u00e9e ensuite le conteneur \u00e0 partir de l&#039;ancienne image, affiche \u00ab\u00a0D\u00e9marr\u00e9\u00a0\u00bb, et vous vous retrouvez avec un site non patch\u00e9 qui semble fra\u00eechement d\u00e9ploy\u00e9. V\u00e9rifiez le r\u00e9sultat de la compilation et confirmez avec <code>php -v<\/code> apr\u00e8s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deux petites remarques. \u00c9tiquetez l&#039;ancienne image avant de la reconstruire, car une image conserve son \u00e9tiquette et vous offre un point de restauration gratuit, bien moins co\u00fbteux qu&#039;un instantan\u00e9. De plus, ne vous attendez pas \u00e0 ce qu&#039;une mise \u00e0 jour de l&#039;image mette \u00e0 niveau l&#039;application\u00a0: le point d&#039;entr\u00e9e officiel des images WordPress ne copie les fichiers principaux que lorsque le r\u00e9pertoire racine est vide. Par cons\u00e9quent, recr\u00e9er un conteneur sur une image plus r\u00e9cente laisse l&#039;installation existante exactement au m\u00eame endroit. Nous l&#039;avons v\u00e9rifi\u00e9 sur un environnement de test avant de passer en production, et la version de WordPress n&#039;a pas boug\u00e9.<\/p>\n\n\n\n<h2 id=\"why-disabling-upload-progress-only-covers-half\" class=\"wp-block-heading\">Pourquoi la d\u00e9sactivation de session.upload_progress ne r\u00e9sout-elle que la moiti\u00e9 du probl\u00e8me\u00a0?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La solution de contournement PHP2Shell qui circule pour les machines ne pouvant \u00eatre patch\u00e9es consiste \u00e0 configurer <code>session.upload_progress.enabled = 0<\/code>, et sur DSM, accessible via Web Station dans les param\u00e8tres du langage de script, onglet \u00ab\u00a0Core\u00a0\u00bb du profil PHP. Cela vaut la peine d&#039;\u00eatre fait. Ce n&#039;est pas une solution d\u00e9finitive, et l&#039;\u00e9cart est important.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le suivi de la progression du chargement des sessions n&#039;est qu&#039;une des voies d&#039;acc\u00e8s. La vuln\u00e9rabilit\u00e9 de divulgation de m\u00e9moire est exploit\u00e9e via la gestion classique des requ\u00eates multipart et ne n\u00e9cessite aucunement l&#039;activation des sessions\u00a0; d\u00e9sactiver cette fonctionnalit\u00e9 laisse donc cette voie ouverte. Le projet PHP a clairement indiqu\u00e9 qu&#039;il n&#039;existe aucune solution de contournement compl\u00e8te et que la mise \u00e0 jour est la seule solution s\u00fbre. Imunify360 signale qu&#039;aucune r\u00e8gle ne bloque actuellement l&#039;exploitation de la vuln\u00e9rabilit\u00e9 CVE-2026-109618 li\u00e9e \u00e0 une insuffisance de m\u00e9moire, et Elastic note que le param\u00e8tre de suivi de la progression du chargement ferme les voies de session confirm\u00e9es, mais pas toutes les variantes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous verrez \u00e9galement <code>limite_m\u00e9moire = -1<\/code> Cette solution est propos\u00e9e, partant du principe que le bug survient suite \u00e0 une saturation de la m\u00e9moire. Il faut la consid\u00e9rer comme un compromis, et non comme un avantage. Supprimer la limite sur un serveur web public ne fait que remplacer un mode de d\u00e9faillance par un autre, et sur un NAS avec une m\u00e9moire partag\u00e9e, cela risque d&#039;entra\u00eener la saturation de la machine par le pool de processus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le filtrage Edge est la couche PHP2Shell qui apporte une r\u00e9elle valeur ajout\u00e9e, car elle intercepte le trafic d\u00e9chiffr\u00e9, contrairement \u00e0 votre routeur. Cloudflare a d\u00e9ploy\u00e9 une protection par r\u00e8gles g\u00e9r\u00e9es pour PHP2Shell, AWS a int\u00e9gr\u00e9 la protection contre la vuln\u00e9rabilit\u00e9 CVE-2026-109619 dans la version 2.3 de son groupe de r\u00e8gles g\u00e9r\u00e9es PHP, et Azure Front Door a d\u00e9ploy\u00e9 la r\u00e8gle 99006001, d\u00e9sactiv\u00e9e par d\u00e9faut. Des r\u00e8gles communautaires Snort et Suricata sont disponibles sur GitHub, mais les ensembles de r\u00e8gles officiels Snort et Emerging Threats n&#039;\u00e9taient pas encore publi\u00e9s au moment de la r\u00e9daction de ce document. Par cons\u00e9quent, une fonctionnalit\u00e9 de pr\u00e9vention des intrusions NAS ne vous sera d&#039;aucune utilit\u00e9 dans ce cas pr\u00e9cis. De toute fa\u00e7on, elle ne peut pas lire le trafic TLS.<\/p>\n\n\n\n<h2 id=\"which-nas-vendor-actually-shipped-a-fix\" class=\"wp-block-heading\">Quel fournisseur de NAS a r\u00e9ellement d\u00e9ploy\u00e9 un correctif\u00a0?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici la partie de l&#039;histoire de PHP2Shell qui devrait influencer votre choix. La version officielle de PHP a \u00e9t\u00e9 publi\u00e9e le 21 octobre. Voici la position des quatre principaux fournisseurs de NAS grand public et semi-professionnels le lendemain, d&#039;apr\u00e8s leurs propres pages d&#039;information et non des articles de presse.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Fournisseur<\/th><th>Consultatif<\/th><th>Statut<\/th><th>Versions corrig\u00e9es publi\u00e9es<\/th><\/tr><\/thead><tbody><tr><td><strong>Synologie<\/strong><\/td><td>Synology-SA-26:14, 22 oct. 2026<\/td><td><strong>R\u00e9solu<\/strong><\/td><td>Oui. Chaque branche co\u00fbte entre 7,4 et 8,4 PHP, plus le calendrier et le service de messagerie.<\/td><\/tr><tr><td>QNAP<\/td><td>QSA-26-18, 22 oct. 2026<\/td><td>Fixation<\/td><td>Non. Chaque ligne porte la mention \u00ab\u00a0\u00c0 annoncer\u00a0\u00bb.<\/td><\/tr><tr><td>ASUSTOR<\/td><td>Retrait des versions pr\u00e9c\u00e9dentes de PHP, le 22 octobre 2026<\/td><td>La retraite, pas un patch<\/td><td>Les versions PHP 7, 7.3, 7.4 et 8.1 n&#039;ont pas \u00e9t\u00e9 retir\u00e9es d&#039;App Central.<\/td><\/tr><tr><td>UGREEN<\/td><td>Aucun r\u00e9sultat trouv\u00e9<\/td><td>Inconnu<\/td><td>Aucun avis n&#039;a \u00e9t\u00e9 trouv\u00e9 pour UGOS Pro.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le m\u00eame jour que l&#039;avis de s\u00e9curit\u00e9, Synology a publi\u00e9 un tableau complet des versions de PHP2Shell et l&#039;a marqu\u00e9 comme r\u00e9solu. Un administrateur DSM, apr\u00e8s avoir consult\u00e9 cet avis, a pu agir imm\u00e9diatement\u00a0: ouvrir le Centre de paquets, cliquer sur \u00ab\u00a0Mettre \u00e0 jour\u00a0\u00bb et v\u00e9rifier. C&#039;est la proc\u00e9dure de correction compl\u00e8te, et c&#039;est pourquoi nos machines Web Station ont \u00e9t\u00e9 mises \u00e0 jour en quelques minutes au lieu de plusieurs jours.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp\" alt=\"Avis QNAP QSA-26-18\u00a0: statut \u00ab\u00a0Correction\u00a0\u00bb et \u00ab\u00a0\u00c0 annoncer\u00a0\u00bb dans chaque ligne de version corrig\u00e9e\" class=\"wp-image-22081\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1000x609.webp 1000w\" \/><figcaption class=\"wp-element-caption\">QNAP QSA-26-18\u00a0: \u00e9tat \u00ab\u00a0Correction en cours\u00a0\u00bb, et chaque version corrig\u00e9e sera encore annonc\u00e9e.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">QNAP a publi\u00e9 le m\u00eame jour une liste de produits concern\u00e9s, incluant QTS 6.1.0, QTS 5.2.11 et versions ant\u00e9rieures, QuTS hero h6.1.0, h6.0.x et h5.2.11 et versions ant\u00e9rieures, QuTScloud c5.2.9 et versions ant\u00e9rieures, Note Station 3, QNE ADRA, QVR Surveillance sur les mod\u00e8les ARM32 et TVR OS. Le statut de correction est indiqu\u00e9 pour chacun de ces produits, sans version corrig\u00e9e. Le runtime PHP \u00e9tant int\u00e9gr\u00e9 aux composants web de QTS, aucun paquet n&#039;est disponible pour une mise \u00e0 jour\u00a0; la correction doit donc \u00eatre apport\u00e9e par une mise \u00e0 jour du firmware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En attendant, QNAP propose aux victimes de PHP2Shell une liste de mesures d&#039;att\u00e9nuation. Il est important de la lire attentivement, car elle recommande de d\u00e9sactiver la redirection de ports et l&#039;UPnP sur votre routeur, de d\u00e9publier les services myQNAPcloud, de passer l&#039;acc\u00e8s distant par un VPN, de limiter les ports d&#039;administration aux sous-r\u00e9seaux de confiance, d&#039;arr\u00eater les applications PHP inutiles, de d\u00e9sactiver le serveur web int\u00e9gr\u00e9 s&#039;il n&#039;est pas utilis\u00e9 et de consulter r\u00e9guli\u00e8rement QuLog Center afin de d\u00e9tecter toute compromission. Ces conseils sont judicieux pour un syst\u00e8me non patch\u00e9. Pour toute personne h\u00e9bergeant un site web public, il est imp\u00e9ratif de le mettre hors ligne.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"814\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp\" alt=\"ASUSTOR annonce de retrait des versions PHP h\u00e9rit\u00e9es, dat\u00e9e du 22 octobre 2026, concernant la suppression des versions PHP 7, 7.3, 7.4 et 8.1.\" class=\"wp-image-22082\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-300x174.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1024x595.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-768x447.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-600x349.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-400x233.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1000x581.webp 1000w\" \/><figcaption class=\"wp-element-caption\">ASUSTOR a r\u00e9pondu \u00e0 PHP2Shell en abandonnant l&#039;ancienne version de PHP plut\u00f4t qu&#039;en la corrigeant.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">ASUSTOR a opt\u00e9 pour une troisi\u00e8me solution. Son avis, dat\u00e9 du 22 octobre et intitul\u00e9 \u00ab\u00a0Annonce de retrait des anciennes versions de PHP\u00a0\u00bb, retire imm\u00e9diatement PHP 7, PHP 7.3, PHP 7.4 et PHP 8.1 d&#039;App Central, recommande la sauvegarde des donn\u00e9es importantes et invite les utilisateurs \u00e0 n&#039;utiliser que PHP 8.3 ou 8.4 \u00e0 partir de maintenant. Cette d\u00e9cision se justifie, car les d\u00e9veloppeurs ne corrigent que les versions 8.2 et ult\u00e9rieures. Pour un utilisateur ex\u00e9cutant une ancienne application PHP, l&#039;environnement d&#039;ex\u00e9cution dispara\u00eet de l&#039;App Store au lieu d&#039;\u00eatre corrig\u00e9, et ASUSTOR n&#039;indique pas avoir publi\u00e9 de version corrig\u00e9e de PHP 8.3 ou 8.4. \u00c0 noter la diff\u00e9rence avec Synology, qui a publi\u00e9 une version corrig\u00e9e de PHP 7.4 (7.4.33-0131) destin\u00e9e pr\u00e9cis\u00e9ment aux utilisateurs qu&#039;ASUSTOR invite \u00e0 migrer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Concernant UGREEN, nous n&#039;avons trouv\u00e9 aucune information relative \u00e0 PHP2Shell pour UGOS Pro. L&#039;absence de d\u00e9claration publique ne prouve pas qu&#039;un produit est vuln\u00e9rable, et UGOS Pro peut tout simplement ne pas inclure d&#039;environnement d&#039;ex\u00e9cution PHP accessible via le web. Cependant, si vous \u00eates le propri\u00e9taire du produit, le silence n&#039;est pas une r\u00e9ponse exploitable et constitue en soi une forme de vuln\u00e9rabilit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rien de tout cela ne rend Synology parfait. Il ne corrige pas PHP 7.3, il signale la fin de vie de DSM 7.2 et son propre composant PHP interne est toujours en attente de correctifs plut\u00f4t que d&#039;\u00eatre mis \u00e0 jour. L&#039;enjeu est plus pr\u00e9cis et plus utile qu&#039;une simple question de marque\u00a0: le jour o\u00f9 une faille d&#039;ex\u00e9cution de code \u00e0 distance avant authentification a \u00e9t\u00e9 d\u00e9couverte dans le moteur PHP, un fournisseur a rendu la correction accessible via un simple bouton dans le Centre de paquets, tandis que les autres ont opt\u00e9 pour une strat\u00e9gie d&#039;attente.<\/p>\n\n\n\n<h2 id=\"where-to-find-more-official-resources\" class=\"wp-block-heading\">O\u00f9 trouver plus de ressources officielles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP2Shell n&#039;existe que depuis deux jours au moment de la r\u00e9daction de ce document et la situation \u00e9volue encore\u00a0; privil\u00e9giez donc les sources primaires aux r\u00e9sum\u00e9s. Aucun fournisseur n&#039;a encore publi\u00e9 de vid\u00e9o officielle, la liste ci-dessous constitue donc une documentation et non des tutoriels.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14<\/a> Il s&#039;agit du tableau de versions faisant foi. Consultez-le \u00e0 nouveau avant d&#039;appliquer un correctif, car les avis de version sont r\u00e9guli\u00e8rement mis \u00e0 jour.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">D\u00e9claration PSIRT Synology<\/a> Cette liste r\u00e9pertorie les paquets concern\u00e9s et explique le composant interne de DSM ainsi que l&#039;exception relative \u00e0 Mail Station.<\/li>\n\n\n\n<li>Les avis GitHub en amont GHSA-w8hw-w9fx-j79w et GHSA-6wmf-4rv5-p3rp sont li\u00e9s \u00e0 l&#039;avis Synology et d\u00e9crivent le comportement du moteur plut\u00f4t que l&#039;emballage du fournisseur.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a> C&#039;est ici qu&#039;appara\u00eetra la version corrig\u00e9e du firmware si vous utilisez QTS ou QuTS Hero. Il s&#039;agit de la page \u00e0 consulter, et non d&#039;un article d&#039;actualit\u00e9.<\/li>\n\n\n\n<li>Votre Centre de colis est la source ultime d&#039;informations sur ce qui est install\u00e9. L&#039;avis vous indique la configuration cible, la vignette vous indique ce que vous poss\u00e9dez r\u00e9ellement, et seulement <code>php -v<\/code> vous indique ce qui est en cours d&#039;ex\u00e9cution.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour en savoir plus sur l&#039;exploitation de sites web publics sur des machines virtuelles Synology, consultez notre guide sur <a href=\"https:\/\/synopower.club\/fr\/synology-vdsm-docker-migration\/\">D\u00e9placement d&#039;une pile Docker entre invit\u00e9s VDSM<\/a> d\u00e9crit les habitudes de capture d&#039;instantan\u00e9s et de restauration qui ont permis de surmonter cette situation d&#039;urgence.<\/p>\n\n\n\n<h2 id=\"php2shell-limits-and-security-notes\" class=\"wp-block-heading\">Limites et notes de s\u00e9curit\u00e9 de PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&#039;application de correctifs \u00e0 PHP2Shell est simple sur DSM et trompeuse partout ailleurs\u00a0; il convient donc d&#039;\u00e9noncer clairement quelques limites avant de d\u00e9clarer le travail termin\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La mise \u00e0 jour du paquet PHP2Shell ne constitue pas un audit de site. La mise \u00e0 jour de PHP corrige la faille \u00e0 partir de ce moment, mais si le serveur \u00e9tait accessible depuis Internet entre le 20 et le 22 octobre, il l&#039;\u00e9tait alors qu&#039;une faille de s\u00e9curit\u00e9 fonctionnelle \u00e9tait publique. V\u00e9rifiez les journaux pour d\u00e9tecter un volume anormal de requ\u00eates POST, recherchez les fichiers apparus dans les r\u00e9pertoires accessibles en \u00e9criture et changez les identifiants qu&#039;un processus PHP aurait pu d\u00e9tenir. Dans le cas d&#039;une divulgation de la m\u00e9moire, le changement d&#039;identifiants est une pr\u00e9caution raisonnable plut\u00f4t qu&#039;une exc\u00e8s de z\u00e8le.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La v\u00e9rification PHP2Shell doit cibler l&#039;interpr\u00e9teur en cours d&#039;ex\u00e9cution. Les tableaux de bord, les journaux de compilation et les en-t\u00eates de r\u00e9ponse nous ont tous fait d\u00e9faut au moins une fois lors de cette it\u00e9ration. Un CDN peut supprimer l&#039;en-t\u00eate indiquant la version, une compilation peut signaler une r\u00e9ussite tout en r\u00e9utilisant une couche en cache, et la vignette d&#039;un paquet peut afficher la version actuelle alors qu&#039;un ancien processus est toujours en service. <code>php -v<\/code> L&#039;\u00e9l\u00e9ment qui traite les demandes les r\u00e8gle \u00e0 l&#039;int\u00e9rieur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les conteneurs ne sont couverts par aucun avis de s\u00e9curit\u00e9 PHP2Shell des fournisseurs. Il est important de le rappeler, car cela engendre un faux sentiment de s\u00e9curit\u00e9 tr\u00e8s r\u00e9pandu sur un NAS. Si votre site est ex\u00e9cut\u00e9 dans Container Manager, le fait que Package Center indique que tout est \u00e0 jour ne vous renseigne en rien sur son \u00e9tat. Il en va de m\u00eame pour toute application tierce int\u00e9grant son propre environnement d&#039;ex\u00e9cution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les mesures d&#039;att\u00e9nuation de la configuration sont par nature partielles. D\u00e9sactiver l&#039;affichage de la progression du chargement des sessions est utile, supprimer la limite de m\u00e9moire ne fait que d\u00e9placer un risque vers un autre, et la fonction de pr\u00e9vention des intrusions d&#039;un routeur ne peut pas inspecter le trafic TLS qui aboutit ailleurs. Consid\u00e9rez tout cela comme un gain de temps en attendant un correctif d\u00e9finitif, et non comme un substitut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les environnements d&#039;ex\u00e9cution en fin de vie ne sont plus compatibles avec PHP2Shell. PHP 7.3 et les versions ant\u00e9rieures n&#039;ont re\u00e7u aucune mise \u00e0 jour des d\u00e9veloppeurs amont ni de Synology. Si un site n\u00e9cessite r\u00e9ellement une branche non prise en charge, vous devez choisir entre la migration, l&#039;isolation ou le retrait d&#039;Internet. Il n&#039;existe pas d&#039;autre option, et pr\u00e9tendre le contraire revient \u00e0 rendre un site obsol\u00e8te vuln\u00e9rable \u00e0 la contamination de l&#039;ensemble du syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, privil\u00e9giez la consultation de l&#039;avis plut\u00f4t que le suivi de l&#039;actualit\u00e9. Synology a marqu\u00e9 l&#039;avis SA-26:14 comme r\u00e9solu et l&#039;a modifi\u00e9 une fois dans les six minutes suivant sa publication. QNAP a indiqu\u00e9 que l&#039;avis QSA-26:18 sera mis \u00e0 jour d\u00e8s que des versions corrig\u00e9es seront disponibles. Ces deux pages seront modifi\u00e9es, et les num\u00e9ros de version mentionn\u00e9s dans cet article correspondent \u00e0 ceux publi\u00e9s le 22 octobre 2026.<\/p>\n\n\n\n<h2 id=\"references\" class=\"wp-block-heading\">R\u00e9f\u00e9rences<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14 Avis de s\u00e9curit\u00e9 PHP2Shell<\/a>, publi\u00e9 le 22 octobre 2026, statut R\u00e9solu, avec des versions corrig\u00e9es pour PHP 7.4 \u00e0 8.4.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">D\u00e9claration Synology concernant les vuln\u00e9rabilit\u00e9s de PHP2Shell<\/a>, la note PSIRT r\u00e9pertoriant les paquets concern\u00e9s et la couverture DSM.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a>, Statut\u00a0: Correction en cours. Les produits concern\u00e9s sont list\u00e9s avec les versions corrig\u00e9es. \u00c0 annoncer.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.asustor.com\/product\/status_detail?id=14\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Annonce de retrait d&#039;ASUSTOR Legacy PHP<\/a>, suppression de PHP 7, 7.3, 7.4 et 8.1 d&#039;App Central.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.helpnetsecurity.com\/2026\/10\/21\/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Aide Net Security concernant les versions amont de PHP2Shell<\/a>, couvrant PHP 8.5.12, 8.4.27, 8.3.36 et 8.2.35 et les r\u00e9troportages du code source uniquement pour les branches plus anciennes.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"frequently-asked-questions\" class=\"wp-block-heading\">Questions fr\u00e9quemment pos\u00e9es<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list\">\n<div id=\"faq-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Mon NAS Synology est-il vuln\u00e9rable \u00e0 PHP2Shell\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Uniquement si le syst\u00e8me ex\u00e9cute un package d\u00e9pendant de PHP et accessible. Synology cite Calendar, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station et WordPress. Le composant PHP interne de DSM est pr\u00e9sent, mais Synology affirme qu&#039;il ne pr\u00e9sente aucune surface d&#039;attaque expos\u00e9e et consid\u00e8re le risque comme minimal.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Comment puis-je patcher PHP2Shell sur DSM\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Ouvrez le Centre de paquets, acc\u00e9dez \u00e0 la section \u00ab\u00a0Install\u00e9s\u00a0\u00bb et mettez \u00e0 jour tous les paquets PHP pour lesquels une mise \u00e0 jour est disponible. Les versions cibles sont\u00a0: 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 et 8.4.27-0051. Les paquets d\u00e9pendants red\u00e9marrent automatiquement apr\u00e8s la mise \u00e0 jour, \u00e0 l\u2019exception de Mail Station qui n\u00e9cessite une mise \u00e0 jour manuelle.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">La mise \u00e0 jour de WordPress r\u00e9sout-elle le probl\u00e8me\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Non. Le probl\u00e8me se situe dans le moteur PHP, et non dans WordPress. Par cons\u00e9quent, les mises \u00e0 jour du noyau, du th\u00e8me et des extensions ne changent rien. Seule une nouvelle version de PHP peut r\u00e9soudre le probl\u00e8me. C&#039;est l\u00e0 la principale source d&#039;incompr\u00e9hension concernant cet avis de s\u00e9curit\u00e9.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">PHP 7.4 est-il r\u00e9ellement patch\u00e9 sur Synology\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Oui. Synology a publi\u00e9 la version 7.4.33-0131 alors que PHP en amont n&#039;a fourni qu&#039;un portage du code source sans num\u00e9ro de version pour cette branche. Le cas de PHP 7.3 est diff\u00e9rent\u00a0: Synology indique qu&#039;aucun correctif ne sera fourni car cette version n&#039;est plus prise en charge.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">PHP2Shell a-t-il une incidence sur mon site ex\u00e9cut\u00e9 dans Container Manager\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Aucune mise \u00e0 jour de paquet ne le modifie. Vous devez reconstruire l&#039;image avec `docker build --pull` pour que la couche de base soit \u00e0 nouveau t\u00e9l\u00e9charg\u00e9e, d\u00e9marrer le service avec `up -d --no-deps`, puis v\u00e9rifier avec `php -v` \u00e0 l&#039;int\u00e9rieur du conteneur. Un message de r\u00e9ussite lors de la compilation n&#039;est pas une preuve.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">La d\u00e9sactivation de session.upload_progress me prot\u00e8ge-t-elle\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Cela bloque un chemin d&#039;acc\u00e8s, mais pas tous. La variante de divulgation de m\u00e9moire utilise la gestion multipart classique et ne n\u00e9cessite pas de session. Le projet PHP a indiqu\u00e9 qu&#039;il n&#039;existe aucune solution de contournement compl\u00e8te et que la mise \u00e0 jour est la seule solution s\u00fbre.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">La protection contre les menaces de mon routeur peut-elle bloquer PHP2Shell\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Cela n&#039;a aucune importance. Il s&#039;agit d&#039;un moteur de signature incapable de lire les paquets TLS, le trafic entre un proxy inverse et une origine sur le m\u00eame sous-r\u00e9seau ne l&#039;atteint jamais, et les r\u00e8gles officielles de Snort et Emerging Threats ne contenaient aucune information concernant ces vuln\u00e9rabilit\u00e9s (CVE) au moment de la r\u00e9daction.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">QNAP et ASUSTOR ont-ils enfin corrig\u00e9 PHP2Shell\u00a0?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>\u00c0 ce jour (22 octobre 2026), la situation est diff\u00e9rente. L&#039;avis de s\u00e9curit\u00e9 QNAP QSA-26-18 est en cours de correction, chaque version corrig\u00e9e \u00e9tant annonc\u00e9e ult\u00e9rieurement. ASUSTOR a r\u00e9agi en supprimant l&#039;ancienne version de PHP d&#039;App Central plut\u00f4t qu&#039;en publiant une version patch\u00e9e. L&#039;avis Synology-SA-26:14 a \u00e9t\u00e9 marqu\u00e9 comme r\u00e9solu le m\u00eame jour, avec un tableau complet des versions.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>PHP2Shell is the name the industry settled on for CVE-2026-109618 and CVE-2026-109619, a pair of critical flaws in the PHP engine itself that allow unauthenticated remote code execution. Details leaked on 20 October 2026, a day before the coordinated disclosure, and the PHP project shipped emergency releases on 21 October. Because the bug lives in [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":22085,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_xspeed_no_cache":false,"_xspeed_expiry_hours":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-others"],"_links":{"self":[{"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/posts\/22083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/comments?post=22083"}],"version-history":[{"count":1,"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/posts\/22083\/revisions"}],"predecessor-version":[{"id":22084,"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/posts\/22083\/revisions\/22084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/media\/22085"}],"wp:attachment":[{"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/media?parent=22083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/categories?post=22083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/synopower.club\/fr\/wp-json\/wp\/v2\/tags?post=22083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}