Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1335028

Summary: Backport patches to allow Net::SSLeay to support TLSv1.1, TLSv1.2
Product: Red Hat Enterprise Linux 7 Reporter: Petr Pisar <ppisar>
Component: perl-Net-SSLeayAssignee: perl-maint-list
Status: CLOSED ERRATA QA Contact: Karel Srot <ksrot>
Severity: medium Docs Contact: Lenka Špačková <lkuprova>
Priority: unspecified    
Version: 7.2CC: bgollahe, bphinz, creynold, jorton, jplesnik, mkolaja, perl-maint-list, ppisar, psabata, qe-baseos-security, salmy
Target Milestone: rcKeywords: FutureFeature, Patch, Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: perl-Net-SSLeay-1.55-5.el7 Doc Type: Release Note
Doc Text:
The *Net:SSLeay* Perl module now supports restricting of TLS version The *Net:SSLeay* Perl module has been updated to support explicit specification of the TLS protocol version, which can be used for improving security. To restrict TLS version to 1.1 or 1.2, set the `Net::SSLeay::ssl_version` variable to `11` or `12` respectively.
Story Points: ---
Clone Of: 1325407 Environment:
Last Closed: 2017-08-01 20:29:19 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1298243, 1335035, 1380363    
Attachments:
Description Flags
Upstream fix ported to 1.55 none

Description Petr Pisar 2016-05-11 07:51:11 UTC
+++ This bug was initially created as a clone of Bug #1325407 +++

Description of problem:

perl-Net-SSLeay v1.35 that ships as a part of RHEL 6 does not support explicitly specifying protocol versions TLSv1.1 or TLSv1.2 via the SSL_version parameter.  However, the following two upstream patches would be trivial to backport and would enable this functionality:

https://github.com/toddr/Net-SSLeay/commit/1625fca43588ad4648db13a27e19f82361abe3fc
https://github.com/toddr/Net-SSLeay/commit/3cb6863f124e55611b2094d230081eb3cee089cd

Note that it's possible to get a TLSv1.2 context with the current version (by specifying TLSv1.*, which causes the case statement in the constructor to fall through and return a default context, which just happens to be TLSv1.2).  It's not possible to get a TLSv1.1, or even enforce that the context is using TLSv1.2.

[...]

Additional info:

IO::Socket::SSL should also be patched to take advantage of this change. 

[...]

--- Additional comment from Petr Pisar on 2016-04-25 13:55:46 GMT ---

How to test:

(1) Start a TLS server that does not support TLS 1.2, e.g.:
$ openssl s_server -tls1 -key key -cert cert -www
(2) Run a Net::SSLey Perl program that enforces TLS 1.2 by setting $Net::SSLeay::ssl_version=12, e.g.:
perl -MNet::SSLeay -e '$Net::SSLeay::ssl_version=12; my ($response, $error) = Net::SSLeay::sslcat(q{localhost}, 4433, q{GET /}); if ($error) { die $error }; print $response'

Before: The connection succeeds because OpenSSL in the client will fall back to TLS 1.0. With the s_server command, the client will print report this server's response:

New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA
SSL-Session:
    Protocol  : TLSv1

After: The connection fails, the client reports this error:

SSL_connect 10092: 1 - error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

(3) Repeat the test for TLS 1.1 by setting $Net::SSLeay::ssl_version=11.

-----

RHEL-7 (perl-Net-SSLeay-1.55-3.el7.x86_64) is affected. The first patch is already included. Only the second patch is necessary to be applied.

Comment 1 Petr Pisar 2016-10-06 09:28:20 UTC
Created attachment 1207885 [details]
Upstream fix ported to 1.55

Comment 7 errata-xmlrpc 2017-08-01 20:29:19 UTC
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:1910