Bug 1029110

Summary: Kerberos keyring credential cache does not properly throw an error when an invalid UID is used in the KEYRING:persistent:<UID> ccname
Product: Red Hat Enterprise Linux 7 Reporter: Patrik Kis <pkis>
Component: krb5Assignee: Nalin Dahyabhai <nalin>
Status: CLOSED CURRENTRELEASE QA Contact: Patrik Kis <pkis>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: dpal, jpazdziora, riehecky, sgallagh
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://krbdev.mit.edu/rt/Ticket/Display.html?id=7764
Whiteboard:
Fixed In Version: krb5-1.11.3-32.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 11:03:01 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: 991110    
Bug Blocks:    

Description Patrik Kis 2013-11-11 16:57:31 UTC
Description of problem:
If the keyring ccache is changed from UID to username like below, it is not possible to get ticket as non-root user.
 default_ccache_name = KEYRING:persistent:%{username}
This is corner case but since it works for root one would expect to work also as non-root user.

Version-Release number of selected component (if applicable):
krb5-1.11.3-31.el7
kernel-3.10.0-48.el7

How reproducible:
always

Steps to Reproduce:
1. change the default_ccache_name line in /etc/krb5.conf to:
 default_ccache_name = KEYRING:persistent:%{username}
                                            ^^^^^^^^  note this
2. as user root all ok:
# kinit alice
Password for alice: 
# klist 
Ticket cache: KEYRING:persistent:root:0
Default principal: alice

Valid starting       Expires              Service principal
11/11/2013 15:52:35  11/12/2013 15:52:35  krbtgt/ZMRAZ.COM
	renew until 11/11/2013 15:52:35

3. but as non-root user:
# su - alice
Last login: Mon Nov 11 15:48:09 CET 2013 on pts/1
$ kinit
kinit: Invalid UID in persistent keyring name while getting default ccache

Comment 1 Stephen Gallagher 2013-11-11 17:10:31 UTC
The description of this bug is exactly reversed from what should be happening here.

It is NOT supported or correct behavior for the KRB5CCNAME to be specified with the username. The error message "Invalid UID in persistent keyring name" is the proper response here.

The fact that it is NOT failing when root makes this mistake is the actual bug.

Comment 2 Stephen Gallagher 2013-11-11 17:11:56 UTC
(Hit enter too soon)

I suspect that we're not properly validating this string. I have a guess that we may just be hitting a weird edge case with the string->int conversion and ending up with zero (which just happens to work for root).

Comment 5 Ludek Smid 2014-06-13 11:03:01 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.