Error in case the delegated role is missing from the snapshot #652
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.
The following PR fixes the issue where go-tuf will SIGSEGV if a top-level target delegates to another role but that role is not listed in the snapshot metadata.
This is highly unlikely to happen because the attacker must have the ability to create a delegation to a new role in the repository and must be able to prevent this delegation from being included in snapshot metadata in the repository. This implies a significant compromise of a repository. If these requirements are met and client tries to download anything delegated to the new role, it will segfault. In any case it's worth fixing it.
Thanks to @jku for reporting this issue! 👏