-
Notifications
You must be signed in to change notification settings - Fork 250
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
Use quickjs-emscripten
instead of vm2
to execute PAC file code
#224
Conversation
The `vm2` module has been deprecated and has critical security vulnerabilities. The suggested replacement module `isolated-vm` is not suitable for these packages, since it relies on a C++ binary. Instead, these packages will use the `quickjs-emscripten` module to execute the user code in an isolated QuickJS environment compiled to WASM. This should allow the highest level of sandboxing and will hopefully put an end to this cat and mouse game once and for all. Fixes #218.
🦋 Changeset detectedLatest commit: a8eb5fb The changes in this PR will be included in the next version bump. This PR includes changesets to release 4 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
hey @TooTallNate first of all major kudos for the quick fix here ! just a question: do you think there's any chance backporting the fix to earlier major versions of edit: or perhaps only in |
@sfc-gh-dszmolka No, the fix will not be backported since this commit is a breaking change. |
The
vm2
module has been deprecated and has critical security vulnerabilities. The suggested replacement moduleisolated-vm
is not suitable for these packages, since it relies on a C++ binary. The reason for that is because the common use-case for these proxy agent modules is within CLI applications, which usually would not otherwise depend on a C++ module.Instead, these packages will use the
quickjs-emscripten
module to execute the user code in an isolated QuickJS environment compiled to WASM. This should allow the highest level of sandboxing and will hopefully put an end to this cat and mouse game once and for all.Fixes #218.