veilletech.fr
27 oct. Feed du jour
#06 PHP Article

NativePHP Mobile : sept avis, passez en 4.6.1

Pour une application mobile, le correctif part au magasin.

NativePHP publie ses sept premiers avis de sécurité pour NativePHP Mobile, dont cinq élevés (CVSS 7,4 à 8,1), corrigés dans nativephp/mobile 4.6.1 et 3.3.11 et dans mobile-file 1.0.3. Les routes internes /_native/api/* n'avaient pas de middleware. Les applications embarquent leur propre PHP : un simple composer update ne protège personne, il faut reconstruire et republier l'application.

3 min de lectureintermédiairevidéo 1:18
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Les sept avis
  3. Le PHP embarqué
  4. Comment s'y prendre
  5. Une divulgation contestée
  6. À retenir

Ce qui se passe

NativePHP a publié d'un coup ses sept premiers avis de sécurité, pour NativePHP Mobile. Cinq sont notés élevé, de 7,4 à 8,1. Tous sont corrigés dans nativephp/mobile 4.6.1 (ligne 4) et 3.3.11 (ligne 3), et dans le plugin nativephp/mobile-file 1.0.3. Les versions 1.x et 2.x sont en fin de vie et ne seront pas corrigées ; l'équipe recommande la 4.

La cause commune : les routes internes /_native/api/* par lesquelles la web view parle au côté natif n'avaient aucun middleware, et certaines fonctions du pont acceptaient leur entrée sans contrôle. La plupart des attaques supposent déjà du JavaScript qui s'exécute dans la web view (XSS, script tiers compromis), et la complexité d'attaque est généralement jugée élevée.

Les sept avis

Avis Gravité Problème Corrigé en
GHSA-9884-fw9c-mq85 élevée (8,1) le pont des tâches asynchrones permet d'injecter du PHP via un identifiant qui n'est pas un UUID 4.6.1
GHSA-83jv-8h7x-287p élevée (7,7) /_native/api/events instancie toute classe autochargeable citée 3.3.11, 4.6.1
GHSA-3w4w-cchh-qvrw élevée (7,7) File.Move et File.Copy acceptent tout chemin absolu du bac à sable 4.6.1
GHSA-7927-vv5p-fv4f élevée (7,7) mêmes chemins libres dans le plugin mobile-file 1.0.3
GHSA-9g37-88p8-75j2 élevée (7,4) fichiers de tâches asynchrones passés à unserialize() sans authentification 4.6.1
GHSA-76px-r497-93p9 modérée (5,9) traversée de chemin dans /_assets : lecture hors de public/, base SQLite comprise 3.3.11, 4.6.1
GHSA-27jx-7m9x-fx5c modérée (4,1) les builds Android de production écrivent le cookie de session Laravel et le jeton XSRF dans logcat 3.3.11, 4.6.1

Deux corrections changent le comportement :

Le PHP embarqué

Une application NativePHP emporte sa propre copie de PHP. Les correctifs du 21 octobre (CVE-2026-109618, CVE-2026-109619, tous deux 9,2 en CVSS 4.0) n'arrivent donc chez vos utilisateurs qu'avec un nouveau build : PHP 8.5.12, 8.4.27 ou 8.3.36. NativePHP a reconstruit tous ses binaires PHP, retiré les anciens, et publie des hachages et signatures que l'outillage vérifie au téléchargement (nativephp/desktop 2.4.0, nativephp/mobile 3.3.11, bientôt 4.7.0). Desktop 2.4.0 se passe de nativephp/php-bin, désormais déprécié.

Comment s'y prendre

  1. Passez nativephp/mobile en 4.6.1 (3.3.11 sur la ligne 3).
  2. Ligne 4 : désinstallez nativephp/mobile-file, car le cœur fournit déjà File.Move et File.Copy et les versions du plugin peuvent écraser celles qui sont corrigées. Ligne 3 : plugin en 1.0.3.
  3. Régénérez le projet natif puis reconstruisez :
Terminal
php artisan native:install --force
  1. Soumettez le build à l'App Store et à Google Play : vos utilisateurs restent vulnérables tant qu'ils n'ont pas installé cette version.

Une divulgation contestée

Six des sept avis ont été publiés avec des chaînes d'exploitation après un article de RedEye Security, le chercheur acd421 disant avoir prévenu par Tidelift ; NativePHP affirme n'avoir rien reçu. Le septième, la fuite dans logcat, a été signalé en privé par aragossa. L'équipe rappelle que les signalements se font par courriel (politique de sécurité) ou via le bouton « Report a vulnerability » de l'onglet Security des dépôts.

Source : Laravel News, 26 octobre 2026. Source en anglais. Billet d'origine : NativePHP.