CVE-2026-78175
Il plugin Tutor LMS – eLearning and online course solution per WordPress è vulnerabile a PHP Object Injection in tutte le versioni fino alla 4.0.7 inclusa tramite il parametro `withdraw_method_field` dell'handler AJAX `tutor_save_withdraw_account`. Ciò è dovuto al fatto che l'handler non esegue alcun controllo di capability o di ruolo, affidandosi esclusivamente a un nonce, e passa inoltre i valori forniti dall'attaccante attraverso `esc_sql()`, che sostituisce ogni carattere `%` con un token segnaposto HMAC di 66 byte prima che i dati vengano serializzati e memorizzati tramite `update_user_meta()`; quando il meta viene successivamente recuperato, il segnaposto viene ricondotto a un singolo `%`, lasciando le dichiarazioni della lunghezza delle stringhe serializzate di 65 byte maggiori rispetto al contenuto effettivo, e poiché le chiavi degli array provengono da nomi di campi POST completamente non sottoposti a escaping, `unserialize()` legge oltre i limiti nei byte controllati dall'attaccante, consentendo l'iniezione di un flusso di oggetti serializzato arbitrario. Ciò consente ad attaccanti autenticati, con accesso a livello subscriber o superiore, di ottenere l'esecuzione di codice da remoto sul server attivando la catena POP `GuzzleHttp\Cookie\FileCookieJar`, raggiungibile tramite il loader `spl_autoload_register` in `TUTOR\RestAPI`, che carica l'autoloader Composer PayPal incluso nel plugin, scrivendo contenuti controllati dall'attaccante in un nome file specificato dall'attaccante. È presente un percorso non autenticato quando la registrazione degli utenti è abilitata, condizione comune per consentire a studenti e insegnanti di registrarsi, e ciò richiede che la funzionalità di monetizzazione sia abilitata.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HArticoli correlati
This product uses the NVD API but is not endorsed or certified by the NVD.
La descrizione tecnica è una nostra traduzione del testo originale NVD, in inglese.
