TMA-OFFICE-2.2.4.7.2.8
Ensure 'Macro Notification Settings' is set to 'Enabled: Disable VBA macros except digitally signed macros'
Description
This policy setting controls how the specified applications warn users when Visual Basic for Applications (VBA) macros or Excel 4.0 (XLM) macros are present. Multiple Office apps support VBA macros, but XLM macros are only supported by Excel. Disable VBA macros except digitally signed macros: The application displays the Trust Bar for digitally signed macros, allowing users to enable them or leave them disabled. Rationale: When users open files in Excel that contain VBA macros, Excel opens the files with the macros disabled, and displays the Trust Bar with a warning that macros are present and have been disabled. User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\office\16.0\excel\security:vbawarnings (REG_DWORD) in every loaded user hive (S-1-5-21-*) and is compliant when each holds 3. It prints 'no-user-hive-loaded' (FAIL) when no user profile is loaded, so scan while users are logged on.
How it is checked
Audit method: Windows registry
$sids = @(Get-ChildItem -Path 'Registry::HKEY_USERS' -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^S-1-5-21-\d+-\d+-\d+-\d+$' } | ForEach-Object { $_.PSChildName }); if ($sids.Count -eq 0) { 'no-user-hive-loaded' } else { $bad = @(); foreach ($s in $sids) { $v = (Get-ItemProperty -Path ('Registry::HKEY_USERS\' + $s + '\SOFTWARE\Policies\Microsoft\office\16.0\excel\security') -Name 'vbawarnings' -ErrorAction SilentlyContinue).'vbawarnings'; if (-not ($null -ne $v -and @(3) -contains [int64]$v)) { $bad += $s + ':vbawarnings=' + $v } }; if ($bad.Count -eq 0) { 'compliant' } else { 'non-compliant: ' + ($bad -join ', ') } }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Configure through Group Policy (User Configuration): User Configuration\Administrative Templates\Microsoft Excel 2016\Excel Options\Security\Trust Center\Macro Notification Settings = Enabled: Disable VBA macros except digitally signed macros
Properties
- Operating systems
- Any
- Tags
- officeproductivitycis-l1
- Reference
- CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.2.4.7.2.8 Ensure 'Macro Notification Settings' is set to 'Enabled: Disable VBA macros except digitally signed macros'
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target office