Skip to content

Add privacy and security considerations #100

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions proposals/shared-everything-threads/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -968,3 +968,21 @@ validation constraints on shared functions are intended to be future-compatible
continuation references.

[stack-switching]: https://github.com/WebAssembly/stack-switching

### What are the security considerations?

Shared memory and atomic operations allow for the construction of high-resolution timers that
can make side channel attacks such as [Spectre] more effective.
However, these problems already exist with SharedArrayBuffers and shared WebAssembly memories.
This proposal will use the same mitigations already used for SharedArrayBuffers:
Just like `SharedArrayBuffer`s, shared WebAssembly objects will not be able to be sent to other
threads via `postMessage` except in cross-origin isolated contexts.

[Spectre]: https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)

### What are the privacy considerations?

The same high-resolution timers mentioned above could in principle be used to measure the
performance characteristics of a user's platform to generate fingerprinting data.
As with the security considerations,
there are no new risks that are not already present with SharedArrayBuffers.