> CVE-2026-104022 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-10-10 03:17
MODIFIED
2026-10-10 03:17
CVSS_SCORE V3
5.4
EPSS (Prob. Exploit)
0.13%
Top 98.0%
DATA SOURCES:
NVD đź”— 2026-10-10 FIRST EPSS đź”— 2026-10-19

> DESCRIPTION

The Academy LMS – AI Course Builder, Quizzes, Certificates & eLearning plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.0.3. This is due to the `add_child()` function calling `add_role('academy_student')` on any existing account resolved from the attacker-supplied `email` parameter before `Store::link()` validates the guardian-ward relationship, and failing to roll back that role write when `Store::link()` returns a `WP_Error`. This makes it possible for authenticated attackers with the `academy_guardian` role or higher to elevate any existing WordPress account — including their own — to the `academy_student` role, gaining `edit_posts` (Contributor-equivalent) capabilities and, when the student file-upload setting is enabled, `upload_files` (Author-equivalent) capabilities not granted to the guardian role. When a guardian supplies their own email address, `email_exists()` resolves to their own user ID, causing `Store::link()` to reject the self-link, but because the `add_role()` call has already executed and is never reversed, the academy_student role grant on their own account persists permanently.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
EXPLOITABILITY
2.8
IMPACT
2.5

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
Low (L)
Authentifié avec compte utilisateur basique
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
Low (L)
Modification limitée des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
Low
Divulgation limitée d'informations
Intégrité
Low
Modification limitée des données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-269

> HISTORIQUE DES MODIFICATIONS

Première apparition
10/10/2026 03:17
Source: NVD
Total des modifications: 0 Dernière mise à jour: 1 week ago

> REFERENCES

https://plugins.trac.wordpress.org/browser/academy/tags/4.0.2/includes/guardian/...
https://plugins.trac.wordpress.org/browser/academy/tags/4.0.2/includes/guardian/...
https://plugins.trac.wordpress.org/browser/academy/tags/4.0.2/includes/guardian/...
https://plugins.trac.wordpress.org/browser/academy/tags/4.0.2/includes/guardian/...
https://plugins.trac.wordpress.org/changeset?reponame=&old=3734598%40academy&new...
https://www.wordfence.com/threat-intel/vulnerabilities/id/a54dd9e5-59e7-4655-9f6...
« BACK_TO_HOME