[Tests] Add tests and documentation to show the get_successors bug was not affecting 0L #1259
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.
TLDR: 0L was not affected by the critical vulnerability in the Move Language
Bytecode::get_successors
. No action is needed by 0L validators as of May 15 2023. This pull request adds tests and comments to show where the exploit was taking place, and that 0L did not have that bug introduced in the relevant code.For historical purposes:
In October 2022 there was a bug introduced in the Move Language which intended to fix an off-by-one error, and instead introduced an early return which caused certain verifications by the VM to be ignored. The commit was: move-language/move@8bddbe6. This would allow certain scripts to maliciously attack contracts with structs that did not
drop
(i.e. "hot potato" scenarios). The bug was discovered by Zellic.A fix was silently applied to all the chains which were affected. 0L was not affected. The relevant fixes were published here: move-language/move@1fa4ed2
For completeness of the git archive, we are including comments and up-to-date tests that have been published since the vulnerability was disclosed.