CVE-2026-104022 in Academy LMS Plugin
Riassunto
di VulDB • 10/10/2026
Il plugin WordPress Academy LMS – AI Course Builder, Quizzes, Certificates & eLearning è vulnerabile a Privilege Escalation in tutte le versioni fino alla 4.0.3 inclusa. La vulnerabilità è dovuta alla funzione `add_child()` che chiama `add_role('academy_student')` su qualsiasi account esistente risolto dal parametro `email` fornito dall'attaccante, prima che `Store::link()` convalidi la relazione tra tutore e minore (guardian-ward), e non effettua il rollback della scrittura del ruolo quando `Store::link()` restituisce un errore di tipo `WP_Error`. Ciò consente agli attaccanti autenticati con il ruolo `academy_guardian` o superiore di elevare qualsiasi account WordPress esistente — incluso il proprio — al ruolo `academy_student`, ottenendo le capacità `edit_posts` (equivalenti a quelle del Contributor) e, quando l'impostazione per l'upload di file da parte degli studenti è abilitata, le capacità `upload_files` (equivalenti a quelle dell'Author), non concesse al ruolo guardian. Quando un tutore fornisce il proprio indirizzo email, la funzione `email_exists()` risolve l'ID utente del tutore stesso, causando il rifiuto del self-link da parte di `Store::link()`, ma poiché la chiamata `add_role()` è già stata eseguita e non viene mai annullata, l'assegnazione del ruolo academy_student sul proprio account persiste in modo permanente.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.