Escape user.username in flash banners for admin password-reset via UI #52419
+5
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In
FabAirflowSecurityManagerOverride.reset_user_sessions()
two warning strings are built with an f-string that embedsuser.username
. Each string is passed to_cli_safe_flash()
, which doesflash(Markup(text), level)
.Markup()
tells Flask not to escape anything.airflow/providers/fab/src/airflow/providers/fab/auth_manager/security_manager/override.py
Lines 549 to 552 in 262cd81
airflow/providers/fab/src/airflow/providers/fab/auth_manager/security_manager/override.py
Lines 2384 to 2387 in 262cd81
The code changes aim to prevent a theoretical XSS attack vector, even though, as pointed out by Airflow Security team, Airflow users have no influence on the username