Bug 829319

Summary: reading pin from file can make all TLS connections hang
Product: Red Hat Enterprise Linux 6 Reporter: Jan Vcelak <jvcelak>
Component: openldapAssignee: Jan Vcelak <jvcelak>
Status: CLOSED ERRATA QA Contact: David Spurek <dspurek>
Severity: high Docs Contact:
Priority: high    
Version: 6.3CC: dspurek, ebenes, jsynacek, jvcelak, rmeggins, tsmetana
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openldap-2.4.23-29.el6 Doc Type: Bug Fix
Doc Text:
Cause: Password protected Mozilla NSS certificate database used to store server/client certificate. Password file provided to open the database without user interaction. Consequence: Possible reading of unallocated memory and considering its content to be a password, causing the connection to hang. Fix: Patch applied to correctly allocate the memory for the password file. Result: The content of password file is read correctly, connection will not hang.
Story Points: ---
Clone Of: 829317 Environment:
Last Closed: 2013-02-21 09:46:00 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: 829317    
Bug Blocks: 836160    

Description Jan Vcelak 2012-06-06 13:03:56 UTC
+++ This bug was initially created as a clone of Bug #829317 +++

Description of problem:

The buffer allocated for reading password (pin) file has to be initialized with
zeros, or we need to append zero at the end of the file. Otherwise we might read
initialized memory and consider it to be a password. In this situation, all
incoming TLS connections can hang.

Reported upstream:
http://www.openldap.org/its/index.cgi?findid=7291

Patch submitted upstream:
ftp://ftp.openldap.org/incoming/jvcelak-20120606-moznss-read-pin-from-file-infinite-loop.patch

Version-Release number of selected component (if applicable):
any


How reproducible:
Not always, depends on what malloc() gives us when allocating the buffer for the password.

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 3 Jan Vcelak 2012-09-25 16:10:28 UTC
Resolved in: openldap-2.4.23-29.el6

Comment 8 errata-xmlrpc 2013-02-21 09:46:00 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.

http://rhn.redhat.com/errata/RHBA-2013-0364.html