Bug #7822
CVE-2014-3691 - Smart proxy doesn't perform verification of client SSL certificate on API requests
Description
Reported to foreman-security by Michael Moll. Also reported by Jon McKenzie in a comment here: http://projects.theforeman.org/issues/5651#note-1, and possibly the same as Michael Messmore's #6677 ticket.
The smart proxy when running in an SSL-secured mode permits incoming API calls to any endpoint without requiring, or performing any verification of an SSL client certificate. This permits any client with access to the API to make requests and perform actions (permitting control of Puppet CA, DHCP, DNS etc.)
Users are strongly recommended to ensure smart proxy ports (typically 8443/tcp) are firewalled so only Foreman hosts can access the service and to set the "trusted_hosts" config setting in /etc/foreman-proxy/settings.yml to a list of Foreman hostnames for host based acccess control.
See https://groups.google.com/forum/#!topic/foreman-announce/jXC5ixybjqo for more information on mitigation.
Related issues
Associated revisions
History
#1
Updated by Dominic Cleal over 8 years ago
- Project changed from Foreman to Smart Proxy
- Category changed from Security to SSL
#2
Updated by Dominic Cleal over 8 years ago
- Has duplicate Bug #5651: The 'trusted_hosts' config key has an unintuitive (and potentially dangerous) behavior added
#3
Updated by Dominic Cleal over 8 years ago
- Related to Feature #6677: Autosign entry additions should require authentication added
#4
Updated by Dominic Cleal over 8 years ago
- Status changed from New to Assigned
- Assignee set to Dominic Cleal
#5
Updated by The Foreman Bot over 8 years ago
- Status changed from Assigned to Ready For Testing
- Pull request https://github.com/theforeman/smart-proxy/pull/217 added
- Pull request deleted (
)
#6
Updated by Dominic Cleal over 8 years ago
- Related to Refactor #7832: Integration test for SSL verification added
#7
Updated by Dominic Cleal over 8 years ago
- Related to Feature #7849: trusted_hosts should determine hostname from certificate CN on SSL requests added
#8
Updated by Dominic Cleal over 8 years ago
- Description updated (diff)
#9
Updated by Dominic Cleal over 8 years ago
- Legacy Backlogs Release (now unused) set to 26
#10
Updated by Dominic Cleal over 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset 52f0bacf26923826a9b112369d504972369b3cf0.
#11
Updated by Dominic Cleal over 8 years ago
We plan on releasing updated foreman-proxy packages as part of 1.5.4 and 1.6.2.
#12
Updated by Dominic Cleal over 8 years ago
- Subject changed from Smart proxy doesn't perform verification of client SSL certificate on API requests to CVE-2014-3691 - Smart proxy doesn't perform verification of client SSL certificate on API requests
1.5-stable commit: https://github.com/theforeman/smart-proxy/commit/a4ecc166f7f86de63d68a66d677eff37d64c8193.patch
1.6-stable commit: https://github.com/theforeman/smart-proxy/commit/d3def6c43e24bdde105e15add2fc74b4950bba55.patch
The 1.5-stable patch should apply cleanly on 1.2 to 1.4 too.
#13
Updated by Dominic Cleal over 8 years ago
1.5.4 and 1.6.2 have been shipped: https://groups.google.com/forum/#!topic/foreman-announce/LcjZx25Bl7U
#14
Updated by Dominic Cleal over 8 years ago
- Related to Bug #8301: Add a checker script for reverse DNS added
fixes #7822 - forbid HTTPS requests with no client SSL certificate