Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1335035 - [RFE]allow IO::Socket::SSL to support TLSv1.1, TLSv1.2
[RFE]allow IO::Socket::SSL to support TLSv1.1, TLSv1.2
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: perl-IO-Socket-SSL (Show other bugs)
7.2
Unspecified Unspecified
unspecified Severity high
: rc
: ---
Assigned To: perl-maint-list
Karel Srot
Lenka Špačková
: FutureFeature, Patch, Regression
Depends On: 1335028
Blocks: 1298243 1380363
  Show dependency treegraph
 
Reported: 2016-05-11 04:07 EDT by Petr Pisar
Modified: 2017-08-01 16:30 EDT (History)
9 users (show)

See Also:
Fixed In Version: perl-IO-Socket-SSL-1.94-6.el7
Doc Type: Release Note
Doc Text:
The *IO::Socket::SSL* Perl module now supports restricting of TLS version The *Net:SSLeay* Perl module has been updated to support explicit specification of the TLS protocol versions 1.1 or 1.2 to improve security, and the *IO::Socket::SSL* module has been updated accordingly. When a new *IO::Socket::SSL* object is created, it is now possible to restrict the TLS version to 1.1 or 1.2 by setting the `SSL_version` option to `TLSv1_1` or `TLSv1_2` respectively. Alternatively, `TLSv11` and `TLSv12` can be used. Note that these values are case-sensitive.
Story Points: ---
Clone Of: 1331037
Environment:
Last Closed: 2017-08-01 16:30:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Upstream fix ported to RHEL-7 (first part) (1.77 KB, patch)
2016-10-06 10:40 EDT, Petr Pisar
no flags Details | Diff
Upstream fix ported to RHEL-7 (second part) (6.02 KB, patch)
2016-10-06 10:41 EDT, Petr Pisar
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:1912 normal SHIPPED_LIVE perl-IO-Socket-SSL enhancement update 2017-08-01 14:25:57 EDT

  None (edit)
Description Petr Pisar 2016-05-11 04:07:24 EDT
+++ This bug was initially created as a clone of Bug #1331037 +++

[...]
  
3. What is the nature and description of the request?  
Currently, perl-Net-SSLeay and perl-IO-Socket-SSL (as shipped in el6) do not allow TLS protocol versions 1.1 or 1.2 to be explicitly specified.

[...]

10. List any affected packages or components.  
perl-IO-Socket-SSL
  
--- Additional comment from Petr Pisar on 2016-05-11 07:59:06 GMT ---

RHEL-7 (perl-IO-Socket-SSL-1.94-3.el7.noarch) is affected.
Comment 1 Petr Pisar 2016-10-06 10:40 EDT
Created attachment 1207964 [details]
Upstream fix ported to RHEL-7 (first part)
Comment 2 Petr Pisar 2016-10-06 10:41 EDT
Created attachment 1207965 [details]
Upstream fix ported to RHEL-7 (second part)
Comment 3 Petr Pisar 2016-10-06 10:44:42 EDT
Reproducer is in bug #1375525, comment #4. The only difference against RHEL-6 is it does not report the reason for the failure. But this how RHEL-7 behaved even previously, so this not a new bug.
Comment 4 Joe Orton 2017-01-20 03:36:30 EST
Resolved in 6.8-Z so this is an effective RHEL6->7 regression.
Comment 8 Karel Srot 2017-03-07 03:43:49 EST
Hello,
on RHEL-6 in case of rejected connection there is a message:
'IO::Socket::SSL:.*SSL connect attempt failed with unknown error.*SSL routines:SSL3_GET_RECORD:wrong version number' 

On RHEL-7 there is no such message when the connection fails.
Is this expected/intentional?
Comment 9 Jitka Plesnikova 2017-03-09 11:32:47 EST
The reproduce https://bugzilla.redhat.com/show_bug.cgi?id=1375525#c4 describes that the error appears when fix is applied. 

Petr Pisar wrote in comment#3 the error does not report on RHEL-7.

You can see it when you enable debug level 1:

perl -M'IO::Socket::SSL qw(debug1)' -e 'my $cl = IO::Socket::SSL->new(PeerAddr => "localhost:4433", SSL_version => "TLSv1_2") or die $!; print $cl "GET / HTTP/1.0\r\n\r\n";print <$cl>;'

[...]

DEBUG: .../IO/Socket/SSL.pm:552: fatal SSL error: SSL connect attempt failed with unknown error error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:552: fatal SSL error: SSL connect attempt failed with unknown error error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Died at -e line 1.
Comment 10 Brian Hinz 2017-03-09 13:18:01 EST
You're not using a supported string for the version.  In IO::Socket::SSL v1.94 the value for TLSv1.2 is "TLSv12".  Use of "TLSv1_1" and "TLSv1_2" was introduced in v1.964 (http://cpansearch.perl.org/src/SULLR/IO-Socket-SSL-1.964/Changes).
Comment 11 Petr Pisar 2017-03-10 02:12:54 EST
This bug report is about adding support for the values. Both variants without and with an underscore should be available after resolving this bug report.

The test failure discusses in comment #8 is a negative test. It checks that if a client requests TLSv1.2 only but a server does not support it, the connection must fail.

I cannot see any problem.
Comment 12 Karel Srot 2017-03-10 02:37:37 EST
(In reply to Jitka Plesnikova from comment #9)
> Petr Pisar wrote in comment#3 the error does not report on RHEL-7.
> You can see it when you enable debug level 1:

Thank you, I have missed that note somehow.
Comment 14 errata-xmlrpc 2017-08-01 16:30:01 EDT
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://access.redhat.com/errata/RHBA-2017:1912

Note You need to log in before you can comment on or make changes to this bug.