Backport of core: Fix double-marked sensitive attributes into v0.15 #28383
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.
Backport
This PR is auto-generated from #28381 to be assessed for backporting due to the inclusion of the label 0.15-backport.
The below text is copied from the body of the original PR.
If a resource has a writeable attribute which is sensitive in the schema, which is bound to a marked sensitive value, reading the resource from state would previously crash due to double-marking the value. To fix this, we need to unmark the value from state, merge its marks with the schema-derived marks, and re-apply the merged marks.
Fixes #28370.