TMAegisBeta
More rules for chrome

Google Chrome

TMA-CHROME-2.5.1

Ensure 'Configure native messaging blocklist' is set to 'Enabled: *'

MediumLevel 2Automatedchrome

Description

Allows you to specify which native messaging hosts that should not be loaded. Disabled (0): Google Chrome will load all installed native messaging hosts. The recommended state for this setting is: Enabled with a value of * NOTE: This needs to be handled carefully. If an extension is enabled, yet can't communicate with its backend code, it could behave in strange ways which results in helpdesk tickets + support load. Rationale: For consistency with Plugin and Extension policies, native messaging should be blocklisted by default, requiring explicit administrative approval of applications for allowlisting. An example of an application that uses native messaging is the 1Password password manager. List policy: numbered REG_SZ values under HKLM\SOFTWARE\Policies\Google\Chrome\NativeMessagingBlocklist. Compliant when one entry equals '*'; 'unset' when the list is empty. Remediation appends the entry under the next free number.

How it is checked

Audit method: Windows registry

registry
$l = @((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\NativeMessagingBlocklist' -ErrorAction SilentlyContinue).PSObject.Properties | Where-Object { $_.Name -notlike 'PS*' } | ForEach-Object { "$($_.Value)" }); if ($l.Count -eq 0) { 'unset' } elseif ($l -contains '*') { 'compliant' } else { 'non-compliant: ' + ($l -join ', ') }
Expected output
compliant

How it is fixed

Fix method: Shell command

shell
$k = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\NativeMessagingBlocklist'; if (-not (Test-Path -Path $k)) { New-Item -Path $k -Force | Out-Null }; $props = @((Get-ItemProperty -Path $k).PSObject.Properties | Where-Object { $_.Name -notlike 'PS*' }); if (@($props | Where-Object { "$($_.Value)" -eq '*' }).Count -eq 0) { $n = 1; while (@($props | Where-Object { $_.Name -eq "$n" }).Count -gt 0) { $n++ }; New-ItemProperty -Path $k -Name "$n" -Value '*' -PropertyType String -Force | Out-Null }

Properties

Operating systems
Any
Tags
chromebrowsercis-l2
Reference
CIS Google Chrome Benchmark v3.0.0 - 2.5.1 Ensure 'Configure native messaging blocklist' is set to 'Enabled: *'

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target chrome --level 2