TMAegisBeta
More rules for office

Microsoft Office

TMA-OFFICE-2.3.27.6

Ensure 'Allow VBA to load typelib references by path from untrusted intranet locations' is set to 'Disabled'

HighLevel 1Automatedoffice

Description

This policy setting permits VBA to load typelib references by explicit path read from the project data if that path points to an intranet location that is not explicitly in the system trusted sites list. Rationale: The Visual Basic Application language can be abused by manipulating typelib references stored in untrusted locations. By preventing a user from overriding the default security settings this prevents a change to an unsecure state where harmful software could be more easily executed on a system. User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\vba\security:allowvbaintranetreferences (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 'allowvbaintranetreferences' -ErrorAction SilentlyContinue).'allowvbaintranetreferences'; if (-not ($null -ne $v -and @(0) -contains [int64]$v)) { $bad += $s + ':allowvbaintranetreferences=' + $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\Allow VBA to load typelib references by path from untrusted intranet locations = Disabled

Properties

Operating systems
Any
Tags
officeproductivitycis-l1
Reference
CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.3.27.6 Ensure 'Allow VBA to load typelib references by path from untrusted intranet locations' 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