| Summary: | mod_nss SNI serves incorrect certificate | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Robert Bost <rbost> | ||||||
| Component: | mod_nss | Assignee: | Matthew Harmsen <mharmsen> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Kaleem <ksiddiqu> | ||||||
| Severity: | urgent | Docs Contact: | |||||||
| Priority: | urgent | ||||||||
| Version: | 6.9 | CC: | akasurde, dpal, nkinder, rbost, rcritten | ||||||
| Target Milestone: | rc | ||||||||
| Target Release: | 6.9 | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | mod_nss-1.0.10-8.el6 | Doc Type: | Bug Fix | ||||||
| Doc Text: |
Each virtual host (VH) including mod_nss SNI was serving the incorrect certificate because its default initialization was FALSE rather than UNSET so each VH was not inheriting the global value; this patch corrects this issue by establishing a default value of UNSET rather than FALSE. [BZ #1379823]
|
Story Points: | --- | ||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2017-03-21 09:07:43 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Attachments: |
|
||||||||
|
Description
Robert Bost
2016-09-27 18:27:19 UTC
The only workaround at this point is to specify a different IP address in each VirtualHost instead of using *:443. # egrep 'VirtualHost|ServerName' /etc/httpd/conf.d/nss.conf NameVirtualHost *:443 <VirtualHost 127.0.0.1:443> ServerName server1 </VirtualHost> <VirtualHost 192.168.122.132:443> ServerName server2 </VirtualHost> # curl -vk https://server1/ 2>&1 | grep subject * subject: CN=server1,O=RedHat,L=Westford,ST=MA,C=US # curl -vk https://server2/ 2>&1 | grep subject * subject: CN=server2,O=RedHat,L=Westford,ST=MA,C=US Upstream mod_nss-1.0.14 does not appear to be affected by this issue. Upstream mod_nss-1.0.12 does not appear to be affected by this issue. Pretty easily reproducible but logging is lacking so not obvious what is going on. Given it works in 1.0.12 (confirmed) I can only assume a problem in the backport. Can you update the KB to mention that this affects only RHEL 6? The article has been updated. The important difference between 1.0.10 and 1.0.12 is that SNI is disabled by default in 1.0.10. Try adding NSSSNI On to each of your VirtualHost and that should fix it. Works on my end. I'm awaiting customers to confirm in their setup too. I would consider this a workaround though. The NSSSNI setting has an RSRC_CONF scope so if it is set to On the server config, shouldn't that fall down into VHosts? This type of behavior is present in upstream mod_nss-1.0.12 (didn't test with anything later). I believe what is happening is that the default is FALSE rather than UNSET so each VH gets initialized as FALSE so doesn't inherit the global value. Created attachment 1211497 [details]
Candidate patch to fix initialization issue
Verified using mod_nss version :: mod_nss-1.0.10-9.el6.x86_64 Please find the attachment for verification steps. Created attachment 1225764 [details]
console.log
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2017-0576.html |