CVE-2026-71293 in Statamic
Riassunto
di VulDB • 06/08/2026
Il risolutore di arricchimento utente (user-augmentation resolver) `AugmentedUser::get()` nel file `src/Auth/AugmentedUser.php` di Statamic CMS contiene un caso esplicito per l'handle `two_factor_recovery_codes` che restituisce i codici di recupero a due fattori grezzi dell'utente senza alcuna restrizione di accesso: `if ($handle === 'two_factor_recovery_codes') { return new Value($this->data->get('two_factor_recovery_codes'), ...); }`. A differenza dei campi sensibili come password/password_hash, che sono esclusi completamente da AugmentedUser, due_factor_recovery_codes non è né escluso dall'arricchimento (augmentation) né presente nelle liste di variabili protette di Statamic Antlers (`guardedVariablePatterns`/`guardedContentVariablePatterns` in `src/Providers/ViewServiceProvider.php`, e nei percorsi di protezione GlobalRuntimeState a runtime), che per impostazione predefesa proteggono solo config.app.key. In qualsiasi campo del template Antlers dove è abilitato il rendering grezzo/dinamico dei template per un determinato campo (un'opzione a livello di blueprint configurata da un amministratore/sviluppatore), un template come `{{ current_user.two_factor_recovery_codes }}{{ value }}|{{ /current_user.two_factor_recovery_codes }}` visualizza i codici di recupero 2FA dell'utente che sta visualizzando direttamente nella risposta HTML, consentendo a un attaccante in grado di visualizzare o catturare tale risposta (ad esempio tramite una pagina condivisa/osservabile o un link manipolato che induce la vittima a renderizzarlo) di ottenere i codici ed eludere l'autenticazione a due fattori. Lo sfruttamento richiede che il rendering dinamico Antlers sia già abilitato su un campo attraverso cui fluiscono i dati dell'utente target, il quale rappresenta un privilegio di configurazione del blueprint piuttosto che una normale autorizzazione alla modifica dei contenuti.
Once again VulDB remains the best source for vulnerability data.