veilletech.fr
2 sept. Feed du jour
#02 PHP Article

Packagist : treize thèmes Composer piégés

Un thème Composer, c'est du code chez vos visiteurs.

Socket a identifié 13 thèmes Composer malveillants sur Packagist, répartis sur cinq namespaces. Ils injectent un JavaScript qui redirige les mobiles vers des sites de jeu et, sur iPhone non à jour, déroule une chaîne WebKit → noyau qui vole trousseau, SMS, photos et seeds de wallets crypto.

2 min de lectureintermédiairevidéo 1:18
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Comment la chaîne se déroule
  3. Ce que ça change pour un développeur PHP
  4. À retenir

Ce qui se passe

Le chercheur Kush Pandya, de Socket, a identifié 13 paquets de thèmes Composer publiés sur Packagist et conçus pour injecter du JavaScript dans les sites qui les installent — des plateformes vietnamiennes de streaming sous OphimCMS et KKPhim. La campagne prolonge celle documentée en mars 2026, qui reposait sur six thèmes OphimCMS déjà servis depuis l'infrastructure Funnull.

Les paquets, répartis sur cinq espaces de nommage :

TEXT
vsmov/theme-dy          vsmov/theme-rrdyw       vsmov/theme-motchill
vsmov/theme-vsmov       vsphim/theme-heovl      vsphim/theme-thempho
haiau009/kkphim-legend  haiau009/kkphim-motchill
chilltvcms/theme-legend
ophimcms/theme-dy       ophimcms/theme-motchill ophimcms/theme-pcc
ophimcms/theme-rrdyw

Les mêmes namespaces publient d'autres thèmes sans charge active au moment de l'analyse — mais configurés pour qu'un champ « Custom JS », rendu sur chaque page, puisse l'activer.

Comment la chaîne se déroule

Noyau iOSInfra FunnullSite (thèmeComposer)Visiteur iPhoneNoyau iOSInfra FunnullSite (thèmeComposer)Visiteur iPhoneCharge une page dans SafariSert le JS injecté par lethèmeiframe caché, annonce sa version d'iOSExploit WebKit adapté (CVE-2025-31277 /CVE-2025-43529)Sortie du bac àsable WebContentvers le processusGPUAppleM2ScalerCSCDriver (IOKit) → lecture/écriture noyauTrousseau, SMS, photos,seeds chiffrés en AES viaPOST /upload

Les deux failles WebKit sont CVE-2025-31277 (corrigée en iOS 18.6) et CVE-2025-43529 (corrigée en 18.7.3 et 26.2). Apple n'a pas attribué de CVE à l'échappement noyau, corrigé en iOS et macOS 26.1 avant même le signalement ; Socket suppose CVE-2025-43398, CVE-2025-43510 ou CVE-2025-43520. La progression de l'exploitation est signalée à cloudfareintcdn[.]com/wd-status.html.

Depuis le 12 août 2026, la charge finale ajoute un voleur de phrases de récupération, interrogeant le trousseau pour Bitget, BitKeep, Bitpie, Phantom, Tonkeeper, Trust Wallet et OKX. Les cibles réelles sont les iPhone XS à 16 restés en iOS 18.4 à 18.6.x.

Ce que ça change pour un développeur PHP

Un thème n'est pas un jeu de feuilles de style : c'est du code qui s'exécute chez vos visiteurs. Socket insiste sur un point qu'on oublie — les exploitants de ces sites sont aussi des victimes : ils ont livré le thème sans le savoir et servi la charge à leurs propres utilisateurs.

À retenir

  1. Grepper les treize noms ci-dessus dans composer.lock, pas seulement dans composer.json : une dépendance transitive n'apparaît que dans le premier.
  2. Si l'un est présent : le retirer, faire tourner les identifiants, auditer les scripts jQuery et de thème réellement servis.
  3. Un champ « Custom JS » stocké en base et rendu sur chaque page est un vecteur à part entière, même sur un thème aujourd'hui propre.

Source : The Hacker News