Vulnerability Discussion
The macOS Application Firewall is the built-in firewall that comes with macOS, and it must be enabled.
When the macOS Application Firewall is enabled, the flow of information within the information system and between interconnected systems will be controlled by approved authorizations.
Check
Verify the macOS system is configured to enable the application firewall with the following command:
profile="$(/usr/bin/osascript -l JavaScript << EOS
$.NSUserDefaults.alloc.initWithSuiteName('com.apple.security.firewall')\
.objectForKey('EnableFirewall').js
EOS
)"
plist="$(/usr/bin/defaults read /Library/Preferences/com.apple.alf globalstate 2>/dev/null)"
if [[ "$profile" == "true" ]] && [[ "$plist" =~ [1,2] ]]; then
echo "true"
else
echo "false"
fi
If the result is not "true", this is a finding.
Fix
Configure the macOS system to enable the application firewall with the following command:
/usr/bin/defaults write /Library/Preferences/com.apple.alf globalstate -int 1