Repository navigation
Release v3.11.0
v3.11.0
Changelog
Security: empty role lists deny instead of granting everyone; CSRF fails closed without form CSRF protection. See UPGRADING.
Security
- Empty role lists deny (P1):
ConfigurablePerformanceAccessCheckerand the controller's BC fallback no longer treat
an emptysecurity.access_roles(or deprecateddashboard.roles, mapped into it) as "no role check": an empty list
grants nothing. Withdashboard.enabled: true,PerformanceExtensionthrows aLogicExceptionat compile time
when the list is empty and neithersecurity.access_checkernorsecurity.allow_unauthenticatedis set. - CSRF fails closed (P2): new
CsrfProtectionPassrefuses to compile when the dashboard is enabled without
security.csrf.token_managerandform.type_extension.csrf, or withframework.form.csrf_protection: false. Before,
clear / delete / review / purge / delete-by-filter accepted forged POSTs on such hosts.symfony/security-csrfis now
a required dependency. See UPGRADING.
Fixed
- The dashboard no longer throws "The SecurityBundle is not registered" with
security.allow_unauthenticated: trueand
no SecurityBundle: the access check passes a null user when no token storage exists. - Demo (
demo/symfony8) opens its login-less dashboard withsecurity.allow_unauthenticated: trueinstead of an empty
role list.