Skip to content

Conversation

@AndrewScheidecker
Copy link
Contributor

I don't know if this is the right place for this, but I made this test as a proof of concept of a vulnerability in WAVM. I doubt the browser implementations are vulnerable to this, but any implementation that doesn't emit stack probes or otherwise check for stack overflow in the function prologue will have the same problem.

On Windows, LLVM will correctly emit stack probes for functions that use more than 4KB of stack space, and WAVM passes this test. On other platforms, LLVM doesn't emit stack probes, and WAVM does not pass this test.

@AndrewScheidecker AndrewScheidecker force-pushed the skip-stack-guard-page-test branch from 69e2036 to 8dcafd3 Compare September 21, 2016 23:07
@AndrewScheidecker
Copy link
Contributor Author

Update: made it less likely that the test gets lucky and hits a guard page at the end of the stack.

@rossberg
Copy link
Member

LGTM with one nit: can you break those long lines (ideally at 80 cols)?

@AndrewScheidecker AndrewScheidecker force-pushed the skip-stack-guard-page-test branch from 8dcafd3 to f099512 Compare September 22, 2016 11:54
@AndrewScheidecker
Copy link
Contributor Author

LGTM with one nit: can you break those long lines (ideally at 80 cols)?

Sure, updated.

@rossberg rossberg merged commit c386ba8 into WebAssembly:binary-0xc Oct 11, 2016
ngzhian pushed a commit to ngzhian/spec that referenced this pull request Nov 4, 2021
ngzhian added a commit to ngzhian/spec that referenced this pull request Nov 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants