Le 17 octobre 2026, NVD a publié deux CVE critiques sur des plugins WordPress très répandus dans leur catégorie : LearnPress, plugin de cours en ligne (LMS), et LatePoint, plugin de prise de rendez-vous.
Point commun : aucune des deux ne demande de compte sur le site. Les mécanismes, eux, n'ont rien à voir — et c'est ce qui les rend intéressantes.
| Plugin | CVE | CVSS 3.1 | Classe de faille | Bornes NVD |
|---|---|---|---|---|
| LearnPress | CVE-2026-104736 | 9.8 | Injection d'objet PHP (CWE-502) | ≤ 4.4.10 |
| LatePoint | CVE-2026-110653 | 9.1 | Contournement d'authentification par race condition (CWE-287) | ≤ 5.7.4 |
Scores publiés par Wordfence (CNA) ; NVD n'a pas encore analysé ces entrées. Aucune n'est au CISA KEV à la date de rédaction. Les bornes sont « jusqu'à et y compris » : NVD ne donne pas de version corrigée. Vérifie la page du plugin avant de considérer une version comme sûre.
LearnPress — CVE-2026-104736
Vecteur : AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (9.8)
Le paramètre checkout-email de l'action AJAX de paiement est nettoyé par sanitize_text_field(), qui ne retire pas la syntaxe d'un objet PHP sérialisé. La valeur est stockée dans la table de session de LearnPress, puis relue par LP_Session_Handler::get() et passée à unserialize() sans restriction allowed_classes lors des requêtes suivantes.
Résultat : un visiteur anonyme peut faire désérialiser un objet PHP de son choix.
Ce que « injection d'objet PHP » implique
À elle seule, une injection d'objet ne fait rien : il faut une chaîne de gadgets (« POP chain »), c'est-à-dire une classe chargée sur le site dont les méthodes magiques (__destruct, __wakeup…) produisent un effet utile à l'attaquant. La description NVD ne mentionne pas de chaîne présente dans LearnPress lui-même.
Mais sur un site WordPress réel, avec des dizaines de plugins chargés, la question n'est pas si une chaîne existe, c'est laquelle. C'est pour cette raison que la faille est notée 9.8 : l'issue typique est l'exécution de code, la suppression de fichiers ou la lecture de données sensibles, selon ce que le reste du site embarque.
Exposition : tout site où le tunnel de paiement LearnPress est actif.
LatePoint — CVE-2026-110653
Vecteur : AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N (9.1)
LatePoint permet aux clients de se connecter avec un code OTP à 6 chiffres envoyé par email ou SMS, limité à 10 tentatives. Le compteur de tentatives est incrémenté à partir d'une valeur lue en mémoire, sans garde WHERE attempts < 10 sur l'UPDATE ni verrou de ligne.
En envoyant des requêtes concurrentes au point de terminaison auth__verify_otp, un attaquant dépasse largement les 10 essais avant que le verrouillage ne s'applique, et peut brute-forcer le code. Le nonce qui protège ce point de terminaison n'aide pas : il est fourni à n'importe qui par les endpoints publics request_otp et resend_otp.
Condition : connaître l'adresse email ou le numéro de téléphone d'un client enregistré. Impact : accès complet au compte de ce client — rendez-vous et données personnelles.
C'est un bel exemple de faille qui ne se voit pas à la lecture d'une fonction : chaque ligne est correcte, c'est leur exécution simultanée qui ne l'est pas. Les références NVD pointent vers le code de la version 5.7.4 et vers un fichier de la version 5.7.5 ; vérifie dans le journal des modifications du plugin si cette version corrige la faille.
Enjeu RGPD : pour un cabinet, une clinique ou un salon, les données de rendez-vous sont souvent sensibles. Une prise de compte client est une violation de données au sens du RGPD.
Détection
- LearnPress : contenu anormal dans la table de session LearnPress (chaînes commençant par
O:oua:dans des champs censés contenir un email) ; fichiers PHP récents danswp-content/; nouveaux comptes administrateurs. - LatePoint : rafales de requêtes vers
auth__verify_otpsur une même adresse en quelques secondes ; demandes d'OTP que les clients n'ont pas faites ; connexions clients depuis des IP inhabituelles. - Les deux : journaux d'accès du serveur web filtrés sur
admin-ajax.php, où passent ces actions.
Pour les six plugins critiques publiés la veille, voir notre article du 16 octobre.
Mitigation
- Identifier les sites concernés :
wp plugin listsur chaque instance. - Mettre à jour au-delà des bornes NVD dès qu'une version corrigée est publiée ; à défaut, désactiver le plugin ou, pour LatePoint, la connexion client par OTP.
- LatePoint : un limiteur de débit au niveau du serveur web ou du WAF sur
admin-ajax.phpréduit fortement la fenêtre de brute-force. - LearnPress : en cas de doute, purger la table de session du plugin et auditer les fichiers récemment modifiés.
Pourquoi surveiller en continu vos plugins WordPress
Huit plugins critiques en deux jours, entre cet article et celui de la veille. Sur un parc de sites WordPress, la seule question utile est « lequel de mes sites a lequel de ces plugins, dans quelle version ».
Avec cveo.tech, inventorie tes plugins WordPress avec leur version et reçois une alerte dès qu'une CVE critique les touche.