CVE-2021-3456
📋 TL;DR
An improper authorization flaw in Foreman's Salt plugin for smart-proxy allows authenticated local attackers to execute actions restricted to the Foreman Server. This enables unauthorized resource deletion and denial of service attacks. Affected systems are Foreman deployments using the Salt plugin with vulnerable smart-proxy configurations.
💻 Affected Systems
- Foreman with Salt plugin
📦 What is this software?
Smart Proxy Salt by Theforeman
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise through unauthorized administrative actions, data destruction, and sustained denial of service rendering Foreman unavailable.
Likely Case
Unauthorized deletion of limited resources and temporary service disruption affecting Foreman availability.
If Mitigated
Minimal impact with proper network segmentation, least privilege access, and monitoring in place.
🎯 Exploit Status
Exploitation requires authenticated access to Foreman client systems but uses simple authorization bypass techniques.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Foreman 2.3.0 and later
Vendor Advisory: https://bugzilla.redhat.com/show_bug.cgi?id=1941001
Restart Required: Yes
Instructions:
1. Update Foreman to version 2.3.0 or later. 2. Update smart-proxy components. 3. Restart Foreman services. 4. Verify Salt plugin functionality.
🔧 Temporary Workarounds
Disable Salt plugin
linuxTemporarily disable the vulnerable Salt plugin in smart-proxy configuration
Edit /etc/foreman-proxy/settings.d/salt.yml and set ':enabled: false'
Restart foreman-proxy service
Restrict client access
linuxImplement strict network controls to limit which systems can communicate with smart-proxy
Configure firewall rules to restrict access to smart-proxy ports (typically 8443)
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Foreman infrastructure
- Apply principle of least privilege to all Foreman client accounts and monitor for suspicious activity
🔍 How to Verify
Check if Vulnerable:
Check Foreman version with 'foreman --version' and verify if below 2.3.0 with Salt plugin enabled
Check Version:
foreman --version
Verify Fix Applied:
Confirm Foreman version is 2.3.0+ and test Salt plugin functionality returns proper authorization errors for unauthorized requests
📡 Detection & Monitoring
Log Indicators:
- Unauthorized access attempts in Foreman logs
- Unexpected resource deletion events
- Salt plugin authorization failures
Network Indicators:
- Unusual smart-proxy traffic patterns from client systems
- Multiple DELETE requests to restricted endpoints
SIEM Query:
source="foreman" AND (event="unauthorized_access" OR event="resource_deleted") AND plugin="salt"