CVE-2026-71293 in Statamic
Zusammenfassung
von VulDB • 06.08.2026
Der User-Augmentation-Resolver von Statamic CMS, `AugmentedUser::get()` in `src/Auth/AugmentedUser.php`, enthält einen expliziten Fall für den Handle `two_factor_recovery_codes`, der die rohen Zwei-Faktor-Autorisierungs-Wiederherstellungscodes des Benutzers ohne Zugriffseinschränkung zurückgibt: `if ($handle === 'two_factor_recovery_codes') { return new Value($this->data->get('two_factor_recovery_codes'), ...); }`. Im Gegensatz zu sensiblen Feldern wie password/password_hash, die von der Augmentation ausgeschlossen sind, ist two_factor_recovery_codes weder vom Augmentation-Prozess ausgenommen noch in Statamics Antlers-Variablen-Schutzlisten (guardedVariablePatterns/guardedContentVariablePatterns in `src/Providers/ViewServiceProvider.php` sowie den Laufzeit-Globale-Zustandsschutzpfaden) enthalten, die standardmäßig nur config.app.key schützen. Auf jedem Antlers-Templating-Feld, bei dem das Raw-/Dynamic-Rendering von Vorlagen für ein bestimmtes Feld aktiviert ist (eine Administrator-/Entwicklerkonfiguration auf Blueprint-Ebene), rendert eine Vorlage wie `{{ current_user.two_factor_recovery_codes }}{{ value }}|{{ /current_user.two_factor_recovery_codes }}` die 2FA-Wiederherstellungscodes des anzeigenden Benutzers direkt in die HTML-Antwort. Dies ermöglicht es einem Angreifer, der diese Antwort anzeigen oder abfangen kann (z. B. über eine gemeinsam genutzte/observable Seite oder einen manipulierten Link, der ein Opfer zum Rendern veranlasst), die Codes zu erhalten und die Zwei-Faktor-Authentifizierung zu umgehen. Die Ausnutzung erfordert, dass das dynamische Antlers-Rendering bereits für ein Feld aktiviert ist, durch das die Daten des Zielbenutzers fließen; dies stellt eine Blueprint-Konfigurationsberechtigung dar und keine standardmäßige Berechtigung zur Bearbeitung von Inhalten.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.