Bug 719938

Summary: Add support for Kerberos ticket delegation
Product: Red Hat Enterprise Linux 6 Reporter: Rob Crittenden <rcritten>
Component: curlAssignee: Kamil Dudka <kdudka>
Status: CLOSED ERRATA QA Contact: Miroslav Vadkerti <mvadkert>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.1CC: atkac, dpal, ebenes, jgalipea, jhrozek, jwest, mkosek, mmaslano, msvoboda, mvadkert, ovasik, prc, rdassen
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
As a solution to a security issue, GSSAPI credential delegation was disabled, which broke the functionality of the applications that were relying on delegation, which was incorrectly enabled by libcurl. To fix this issue, the CURLOPT_GSSAPI_DELEGATION libcurl option has been introduced in order to enable delegation explicitly when applications need it. All applications using GSSAPI credential delegation can now use this new libcurl option to be able to run properly.
Story Points: ---
Clone Of:
: 723643 (view as bug list) Environment:
Last Closed: 2013-02-21 10:09:10 UTC Type: ---
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: 719945, 723643, 723645, 727882    
Attachments:
Description Flags
el6 backport of the upstream patches praiskup: review+

Description Rob Crittenden 2011-07-08 13:14:43 UTC
Description of problem:

libcurl upstream dropped support for delegating Kerberos tickets. This was applied to EL6 in bug https://bugzilla.redhat.com/show_bug.cgi?id=711454

The IPA project needs to be able to delegate tickets via XML-RPC (we use the xmlrpc-c package which in turn uses libcurl).

This also affects certmonger which uses similar xmlrpc-c/libcurl calls to communicate with IPA.

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

curl-7.19.7-26.el6_1.1

Steps to Reproduce:
1. Install an IPA server
2. On a separate machine run: ipa-client-install using details from step 1
  
Actual results:

Joining realm failed because of failing XML-RPC request.
   This error may be caused by incompatible server/client major versions.

On the Apache server if you set LogLevel debug in nss.conf you'll see that the ticket was not delegated.

Comment 3 Kamil Dudka 2011-07-08 22:50:43 UTC
I have proposed a solution upstream:

http://thread.gmane.org/gmane.comp.web.curl.general/12226/focus=32265

Whoever is going to commit the fix, please just make sure we use the same option name/constant as upstream.  Otherwise we would have incompatible API/ABI.  Thanks in advance!

Comment 4 Adam Tkac 2011-07-20 12:13:29 UTC
I sent improved patch to upstream:

http://permalink.gmane.org/gmane.comp.web.curl.library/32355

and I'm currently waiting for response.

Comment 6 Kamil Dudka 2011-07-25 10:43:56 UTC
Upstream requests to take RFC 5896 into consideration:

http://tools.ietf.org/html/rfc5896

I have proposed an incremental patch addressing this request:

http://thread.gmane.org/gmane.comp.web.curl.library/32355/focus=32374

Comment 7 Kamil Dudka 2011-07-28 11:08:37 UTC
A new version of the patch reflecting Julien Chaffraix's review comments:

http://thread.gmane.org/gmane.comp.web.curl.library/32355/focus=32419

Comment 8 Kamil Dudka 2011-08-03 09:17:39 UTC
upstream commit:

https://github.com/bagder/curl/compare/7688a99bef...a7864c41db

Comment 11 Kamil Dudka 2011-08-03 11:14:40 UTC
Created attachment 516492 [details]
el6 backport of the upstream patches

Comment 15 Miroslav Svoboda 2011-08-10 16:14:38 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
As a solution to a security issue, GSSAPI credential delegation was disabled, which broke the functionality of the applications that were relying on delegation, which was incorrectly enabled by libcurl. To fix this issue, the CURLOPT_GSSAPI_DELEGATION libcurl option has been introduced in order to enable delegation explicitly when applications need it. All applications using GSSAPI credential delegation can now use this new libcurl option to be able to run properly.

Comment 21 errata-xmlrpc 2013-02-21 10:09:10 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-0393.html