Microsoft Edge
TMA-EDGE-1.4.4
Ensure 'Control use of JavaScript JIT' is set to 'Enabled: Do not allow any site to run JavaScript JIT'
Description
This policy setting specifies whether Microsoft Edge will run the v8 JavaScript engine with JIT (Just In Time) compiler. JIT is a complex pipeline of processes used to optimize JavaScript code for performance. Rationale: Microsoft's research has revealed that attackers usually target the JavaScript engine called “Just-In-Time (JIT) compilation” to hack web browsers. Disabling the JavaScript just-in-time (JIT) compiler prevents attackers from hacking into systems that Microsoft Edge uses. Audit reads the Group Policy registry value and prints 'compliant', 'unset' (policy not configured, reported as FAIL) or the non-compliant value. Registry value: HKLM\SOFTWARE\Policies\Microsoft\Edge:DefaultJavaScriptJitSetting (REG_DWORD); compliant when it is 2. Remediation writes 2 locally; in a domain set it through the ADMX so Group Policy does not revert it.
How it is checked
Audit method: Windows registry
$v = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge' -Name 'DefaultJavaScriptJitSetting' -ErrorAction SilentlyContinue).'DefaultJavaScriptJitSetting'; if ($null -eq $v) { 'unset' } elseif (($null -ne $v -and @(2) -contains [int64]$v)) { 'compliant' } else { "non-compliant: $v" }- Expected output
compliant
How it is fixed
Fix method: Shell command
$p = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge'; if (-not (Test-Path -Path $p)) { New-Item -Path $p -Force | Out-Null }; New-ItemProperty -Path $p -Name 'DefaultJavaScriptJitSetting' -Value 2 -PropertyType DWord -Force | Out-NullProperties
- Operating systems
- Any
- Tags
- edgebrowsercis-l2
- Reference
- CIS Microsoft Edge Benchmark v5.0.0 - 1.4.4 Ensure 'Control use of JavaScript JIT' is set to 'Enabled: Do not allow any site to run JavaScript JIT'
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target edge --level 2