Skip to content
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

Support Super Duper Secure Mode (disable V8 JIT) #19872

Open
breiter opened this issue Dec 2, 2021 · 5 comments
Open

Support Super Duper Secure Mode (disable V8 JIT) #19872

breiter opened this issue Dec 2, 2021 · 5 comments

Comments

@breiter
Copy link

breiter commented Dec 2, 2021

Microsoft Edge has implemented a feature to disabled JIT in V8 completely or on a site-by-site basis. In their blog post describing the feature it was called Super Duper Secure Mode and they note that "roughly 45% of CVEs issued for V8 were related to the JIT engine".

When enabled, the default is to disable JIT (Turbofan and Sparkplug) for websites until they earn some trust. This feature is now in production in Microsoft Edge 96.0.1054.41.

Screen Shot 2021-12-02 at 15 04 09

In their research, the Edge team discovered that there were minimal impacts on performance for most sites. Some showed improvement.

Given the complexity of V8 and the empirical evidence that V8 JIT accounts for a significant portion of the CVEs in Chromium, I would like to see this feature to selectively disable V8 JIT imported into Brave as well.

@fmarier
Copy link
Member

fmarier commented Jul 25, 2022

If you want to try this out, you can start Brave with brave-browser --js-flags=--jitless and that will disable the JIT entirely. One problem I ran into is that this disables support for WASM, which some sites and extensions use.

Being able to disable it on a site-by-site basis would make this much more practical.

@h4xor666
Copy link

h4xor666 commented Oct 28, 2022

I think this is an important feature for Android, where AFAIK it is not possible/very inconvenient to try and run Brave with parameters via a command line. Both Bromite and Vanadium for Android have implemented this feature. It it an important security feature.

@rusty-snake
Copy link

I did not tested it but it looks like you can do it on unrooted Andrpid via chrome://flags/#enable-command-line-on-non-rooted-devices

Although it does not feel good because

Enable reading command line file on non-rooted devices (DANGEROUS).

@ghost
Copy link

ghost commented May 11, 2023

Is there anyway to Disable Java JIT on Android ? Will this feature be implemented in the future ? Any updates ? Seems no one is responding on this one.

@devgr
Copy link

devgr commented Jul 28, 2023

@JohnBetaro

Is there anyway to Disable Java JIT on Android ? Will this feature be implemented in the future ? Any updates ? Seems no one is responding on this one.

I think you may be confusing the JVM (Java) JIT and the V8 (Brave Browser) JIT. The V8 JIT (the subject of this thread) generates machine code from JavaScript or WebAssembly code running in the browser. This is presently a feature of V8 https://v8.dev/blog/jitless so it would be desirable to be able to turn this on or off within Brave Browser. Disabling the JVM JIT is an option when developing your own Java application, but I don't believe that is possible within Android. That would be a question for the Android Open Source Project. Hope that helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants