fix(core): block creation of sensitive URI attributes from ICU messages#67183
Merged
thePunderWoman merged 1 commit intoangular:mainfrom Feb 24, 2026
Merged
fix(core): block creation of sensitive URI attributes from ICU messages#67183thePunderWoman merged 1 commit intoangular:mainfrom
thePunderWoman merged 1 commit intoangular:mainfrom
Conversation
5c7c58e to
ae5ec55
Compare
ae5ec55 to
b32d6c4
Compare
AndrewKushnir
approved these changes
Feb 21, 2026
Contributor
AndrewKushnir
left a comment
There was a problem hiding this comment.
LGTM, thanks for the fix @dgp1130 👍
b32d6c4 to
5271ea2
Compare
Translators are not allowed to write HTML which creates URI attributes. I opted to ban any values going into an attribute at all, to prevent even links to malicious content, rather than just sanitizing URIs. I also converted this blocklist into an allowlist. Now, we only allowing setting known attributes (while sanitizing URI attributes). This significantly reduces risk of missing a vulnerable attribute and does not require an exhaustive list of all potential attributes. BREAKING CHANGE: Angular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.
5271ea2 to
03da204
Compare
Contributor
|
@dgp1130 This has the breaking changes label, which means it can only land in |
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Translators are not allowed to write HTML which creates URI attributes. I opted to ban any values going into an attribute at all, to prevent even links to malicious content, rather than just sanitizing URIs.
I also converted this blocklist into an allowlist. Now, we only allowing setting known attributes (while sanitizing URI attributes). This significantly reduces risk of missing a vulnerable attribute and does not require an exhaustive list of all potential attributes.
BREAKING CHANGE: Angular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.
See: b/483947315
/cc @AndrewKushnir @securityMB @aaronshim