CVE-2026-71293

Statamic CMS's user-augmentation resolver, AugmentedUser::get in src/Auth/AugmentedUser.php, contains an explicit case for the handle that returns the user's raw two-factor recovery codes with no access restriction.
Configurations

No configuration.

History

23 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) El resolvedor de aumento de usuario de Statamic CMS, AugmentedUser::get() en src/Auth/AugmentedUser.php, contiene un caso explícito para el manejador ’two_factor_recovery_codes’ que devuelve los códigos de recuperación de doble factor sin procesar del usuario sin restricción de acceso: ’if ($handle === ’two_factor_recovery_codes’) { return new Value($this -> data -> get(’two_factor_recovery_codes’), ...); }’. A diferencia de campos sensibles como password/password_hash, que están completamente excluidos de AugmentedUser, two_factor_recovery_codes no está excluido del aumento ni presente en las listas de protección de variables Antlers de Statamic (guardedVariablePatterns/guardedContentVariablePatterns en src/Providers/ViewServiceProvider.php, y las rutas de protección de GlobalRuntimeState en tiempo de ejecución), que por defecto solo protegen config.app.key. En cualquier campo de plantilla Antlers donde la renderización de plantilla sin procesar/dinámica esté habilitada para un campo dado (una opción de campo a nivel de blueprint, configurada por un administrador/desarrollador), una plantilla como ’{{ current_user.two_factor_recovery_codes }}{{ value }}|{{ /current_user.two_factor_recovery_codes }}’ renderiza los propios códigos de recuperación 2FA del usuario que visualiza directamente en la respuesta HTML, permitiendo a un atacante que pueda ver o capturar esa respuesta (por ejemplo, a través de una página compartida/observable, o un enlace manipulado que haga que una víctima lo renderice) obtener los códigos y eludir la 2FA. La explotación requiere que la renderización dinámica de Antlers ya esté habilitada en un campo por el que fluyen los datos del usuario objetivo, lo cual es un privilegio de configuración de blueprint en lugar de un permiso estándar de edición de contenido.

Information

Published : 2026-08-05 13:24

Updated : 2026-10-23 21:10


NVD link : CVE-2026-71293

Mitre link : CVE-2026-71293

CVE.ORG link : CVE-2026-71293


JSON object : View

Products Affected

No product.

CWE
CWE-200

Exposure of Sensitive Information to an Unauthorized Actor