magefree / magefree/mage

The state of the random number generator used for shuffle effects is not rolled back when a rollback happens, which can be exploited to manipulate draws.

Open
#8,058 12 comments 2 reactions 0 assignees View on GitHub
Developers Discussion not a bug
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

This bug effects all players who rollback after a shuffle effect to a state before the shuffle.

For example, a cheating player could:
1. Shuffle their library with a fetch land, spell etc.
2. Draw cards with their draw step, spell etc.
3. If the drawn cards are not desirable rollback to before the shuffle effect and shuffle again. The ordering of their library will be different from the previous shuffle as the state of the random number generator used to shuffle wasn't rolled back to it's previous state. Repeat until the desired cards are drawn.

Another less malicious example:
1. You crack a fetch land in your first main step (triggering a shuffle), cast a draw spell, and find a game winning bomb you can cast next turn.
2. During combat your opponent accidentally skips their chance to use a combat trick and being a good sport you accept their rollback request.
3. You replay your first main as before (cracking the land and casting the draw spell) but this time your card draw spell has drawn something completely different!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.