TMAegis
More rules for office

TMA-OFFICE-2.3.27.9

Ensure 'Disable additional security checks on VBA library references that may refer to unsafe locations on the local machine' is set to 'Disabled'

HighLevel 1Automatedoffice

Description

This policy setting restricts VBA to checking project library references only against the registry and trusted zones. The recommended state for this setting is: Disabled Rationale: A remote code execution vulnerability exists when Microsoft Office improperly loads arbitrary type libraries. An attacker could then install programs, view, change, or delete data, or create new accounts with full user rights. User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\vba\security:disablestrictvbarefssecurity (REG_DWORD) in every loaded user hive (S-1-5-21-*) and is compliant when each holds 0. 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

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\vba\security') -Name 'disablestrictvbarefssecurity' -ErrorAction SilentlyContinue).'disablestrictvbarefssecurity'; if (-not ($null -ne $v -and @(0) -contains [int64]$v)) { $bad += $s + ':disablestrictvbarefssecurity=' + $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 Office 2016\Security Settings\Disable additional security checks on VBA library references that may refer to unsafe locations on the local machine = Disabled

Properties

Operating systems
Any
Tags
officeproductivitycis-l1
Reference
CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.3.27.9 Ensure 'Disable additional security checks on VBA library references that may refer to unsafe locations on the local machine' is set to 'Disabled'

Check this host

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

shell
tmaegis scan --target office