Tutoriel pratique pour intégrer les passkeys WebAuthn dans Symfony 8.1 en modifiant 17 fichiers. L’authentification hybride permet de conserver les mots de passe tout en proposant une connexion par passkey, y compris via l’autocomplétion du navigateur. L’implémentation utilise web-auth/webauthn-symfony-bundle et mattleads/passkeys-bundle pour gérer l’enregistrement des clés, leur dernière utilisation, leur révocation et les codes de récupération à usage unique. L’article détaille la configuration de sécurité, Doctrine, Stimulus et les erreurs courantes, notamment les problèmes d’origine WebAuthn et de persistance des identifiants.
Jordan Chapuy explique comment automatiser les correctifs de sécurité sur Debian avec unattended-upgrades, sans appliquer systématiquement les autres mises à jour. Il détaille la sélection des dépôts autorisés, la planification quotidienne, les redémarrages nécessaires après certaines mises à jour du noyau et la vérification de la configuration avec un dry-run. Pour plusieurs serveurs, il utilise Ansible afin de centraliser le déploiement. Il rappelle enfin que cet outil ne met pas à jour les images Docker et ne remplace pas une maintenance régulière.
La faille *sshole concerne OpenSSH compilé avec musl, notamment sur Alpine Linux. Elle peut, dans certaines configurations, permettre une authentification SSH avec un mot de passe de 257 caractères. L’article revient sur l’origine ancienne du problème, les conditions d’exploitation et les différences entre distributions et versions d’OpenSSH. Il explique comment identifier les serveurs potentiellement concernés et recommande d’appliquer les correctifs disponibles, de vérifier la configuration de sshd et de privilégier l’authentification par clés plutôt que par mots de passe.
Pour réduire les attaques de la chaîne d’approvisionnement logicielle, l’auteur impose un délai de sept jours avant l’installation des nouvelles versions npm et PyPI. Un proxy centralisé filtre les versions trop récentes, permet de bloquer des paquets compromis et journalise les téléchargements, y compris en CI. En douze jours, il a masqué plus de 6 000 versions et refusé 71 téléchargements. Cette protection limite l’exposition aux compromissions rapidement détectées, au prix de quelques échecs d’installation, sans remplacer les autres contrôles de sécurité.
Une vulnérabilité de Talos Linux permettait à un certificat doté du rôle os:reader de provoquer le redémarrage d’un serveur physique. L’API TimeService/TimeCheck acceptait des chemins de périphériques insuffisamment validés : une traversée de répertoires permettait d’ouvrir /dev/watchdog avec les privilèges root et d’armer un redémarrage matériel. La faille GHSA-vpfm-35qx-jhvw, notée 5,9, a été corrigée dans Talos 1.13.11 et 1.14.3 par une validation renforcée des périphériques et une restriction des droits d’accès à l’API.
Symfony 8.2 simplifie l’authentification à deux facteurs sans bundle dédié grâce aux preuves d’authentification conservées dans le token. L’exemple combine un mot de passe et un code SMS : un authenticator ajoute la seconde preuve, un voter exige les deux pour accéder à l’application et un point d’entrée redirige vers l’étape manquante. La configuration protège les routes par défaut, gère le cas « remember me » et limite les tentatives. Le code est testé sur la version de développement de Symfony 8.2.
Symfony 8.2 introduit un composant expérimental KeyManagement permettant de chiffrer des colonnes Doctrine avec l’attribut #[Encrypted]. L’article explique les menaces couvertes (fuite de base ou de sauvegarde) et les limites : une application compromise peut toujours déchiffrer les données, tandis que les recherches et tris SQL deviennent impossibles. Les index aveugles rétablissent la recherche par égalité, mais révèlent certaines fréquences. Sont également abordés le stockage des clés dans un KMS et la migration des données existantes, qui exige un traitement spécifique.
Face aux arnaques reçues par WhatsApp ou SMS (faux proches, colis bloqués, paiements urgents), il faut éviter de répondre ou de cliquer sur les liens. Sur WhatsApp, la fonction « Bloquer et signaler » permet de remonter le compte suspect. En France, un SMS frauduleux peut être transféré gratuitement au 33700 ou signalé sur 33700.fr ; l’article mentionne aussi le 7726 au Royaume-Uni et aux États-Unis. En cas de demande d’argent attribuée à un proche, mieux vaut le joindre par son numéro habituel.
Face aux failles PHP2shell (CVE-2026-109618 et CVE-2026-109619), l’auteur détaille la mise à jour sécurisée de PHP-FPM dans une stack Docker. Il conseille de vérifier la disponibilité réelle de l’image corrigée et son digest avec Buildx, plutôt que de se fier au tag. En attendant l’image officielle, il a placé le site en maintenance et compilé provisoirement PHP corrigé. Le retour à l’image officielle passe par la sauvegarde, la conservation des extensions, les contrôles de version et de modules, puis des tests avant réouverture, avec possibilité de retour arrière.
Deux vulnérabilités critiques de PHP, CVE-2026-109618 et CVE-2026-109619 (PHP2Shell, CVSS 9,2), permettent dans certaines conditions une exécution de code à distance sans authentification, particulièrement avec Apache mod_php, mais aussi via des scénarios impliquant PHP-FPM. Des tentatives d’exploitation sont déjà observées. L’article détaille les mécanismes, les configurations exposées et les correctifs publiés le 21 octobre 2026 : PHP 8.2.35, 8.3.36, 8.4.27 et 8.5.12. Il suit leur disponibilité selon les distributions et recommande mise à jour rapide, redémarrage des services et vérification des versions effectivement chargées.
Dans une application Symfony multi-tenant, un rôle PostgreSQL ne possédant aucune table peut néanmoins contourner les politiques Row-Level Security (RLS) s’il hérite des privilèges du propriétaire. L’auteur montre pourquoi un contrôle fondé sur current_user et session_user passe à côté de cette faille et recommande pg_has_role pour inspecter les appartenances. Il détaille une configuration à trois rôles avec GRANT ... WITH INHERIT FALSE, SET TRUE, puis souligne un piège de Doctrine DBAL : SET LOCAL ROLE et le contexte du tenant doivent être appliqués dans une transaction englobant les lectures.
Retour détaillé sur les temps forts du Forum PHP 2026 : Symfony 8.2 et son accélération spectaculaire grâce aux agents IA, exposition des API aux agents via MCP et API Platform, pratiques de PHP défensif, sécurisation des coding agents avec des sandboxes, simplification d’architectures trop complexes, performances réseau avec HTTP/3 et QUIC, et nouveaux enjeux de sécurité liés aux rapports générés par IA. Un panorama très concret des tendances qui transforment l’écosystème PHP.
Une enquête fondée sur l’historique de 23 projets montre à quel point l’infrastructure numérique mondiale repose sur très peu de mainteneurs. Onze projets étudiés n’ont qu’une ou deux personnes assurant l’essentiel du travail régulier, parfois bénévolement ou avec très peu de financement. Les exemples de tzdb, xz, core-js, sudo, SQLite, zlib ou libxml2 illustrent le risque de dépendance à quelques individus, ainsi que les conséquences possibles pour la sécurité, la continuité et la résilience de logiciels utilisés sur des milliards d’appareils.
Un handler postMessage d’iframe ne doit pas faire confiance aux messages reçus par défaut. L’article montre trois attaques concrètes : origine incorrecte, mauvaise fenêtre malgré la bonne origine, et données valides mais dangereuses. Il recommande de vérifier strictement event.origin, de comparer event.source avec le contentWindow attendu, puis de valider et borner le payload avant toute action. Côté émission, il conseille aussi d’éviter '*' et de cibler une origine précise.
Panorama pratique des réflexes essentiels pour réduire les risques de cyberattaque, aussi bien chez les particuliers que dans un homelab : mots de passe uniques, gestionnaire de mots de passe, authentification à deux facteurs, mises à jour régulières, sauvegardes testées et vigilance face au phishing. L’article insiste aussi sur le principe du moindre privilège, la limitation des services exposés sur Internet et les précautions à prendre lorsque des outils d’IA disposent d’accès techniques à des machines ou à des données sensibles.
Présentation de John the Ripper comme outil d’audit de mots de passe et rappel du principe des attaques hors ligne : tester des candidats, calculer leur empreinte puis la comparer au hash volé. L’article explique pourquoi les fonctions rapides comme MD5, SHA-1 ou SHA-256 sont inadaptées au stockage des mots de passe, contrairement à bcrypt, scrypt ou Argon2id avec sel. Il insiste aussi sur la longueur des mots de passe, la double authentification et l’usage strictement autorisé de ce type d’outil.
Un script Python de veille en lecture seule surveille deux fois par jour un serveur Linux et ses conteneurs Docker, sans appliquer automatiquement de mise à jour. Il contrôle APT, les images Docker, WordPress, les sauvegardes et systemd, n’alerte qu’en cas de changement et évite les doublons grâce à une empreinte SHA-256. L’article détaille aussi trois pièges rencontrés : le coût caché de docker ps --format '{{json .}}', les CVE manquées dans les dépôts tiers et une syntaxe OnCalendar systemd trompeuse.
Référence pratique sur l’attribut SameSite des cookies et ses modes Strict, Lax et None, avec les implications pour l’authentification, la navigation cross-site et la protection contre les attaques CSRF. L’article rappelle la différence entre same-site et same-origin, détaille les contraintes liées à HTTPS et aux attributs Secure/HttpOnly, puis propose un tableau de décision, des exemples pour Express, Next.js et Django, ainsi qu’une checklist de débogage dans les DevTools.
Tutoriel pas à pas pour ajouter une authentification à double facteur dans une application Symfony. L’implémentation repose sur Google2FA pour générer et vérifier les codes TOTP, et BaconQrCode pour afficher le QR code de configuration. L’auteur montre comment intégrer un second authenticator Symfony, conserver la clé secrète en session, attribuer un rôle après validation du code et utiliser un EventSubscriber pour empêcher l’accès aux routes protégées tant que la 2FA n’a pas été validée.
Guide pratique pour organiser un audit de vulnérabilité web adapté aux PME. Il explique pourquoi les scans automatisés doivent être complétés par des tests manuels, notamment sur les contrôles d'accès et la logique métier. Il détaille le cadrage du périmètre, la priorisation des failles selon leur exploitabilité et leur impact, les précautions RGPD et la construction d'un plan de remédiation. Il recommande également des re-tests après correction et une surveillance régulière.