[Bug 242132] Wrong GSS credentials cache expiration date for indefinite tickets
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Nov 21 07:31:42 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242132
Bug ID: 242132
Summary: Wrong GSS credentials cache expiration date for
indefinite tickets
Product: Base System
Version: 12.1-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: pen at lysator.liu.se
Created attachment 209312
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=209312&action=edit
Patch to fix the cred_lifetime bug and add a kern.rpc.gss.lifetime_max sysctl
This is a bug that probably never happens in real life, or is masked by other
factors, but I think it's a bug anyway...
In
/usr/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c:svc_rpc_gss_accept_sec_context()
there is a check:
if (cred_lifetime == GSS_C_INDEFINITE)
cred_lifetime = time_uptime + 24*60*60;
client->cl_expiration = time_uptime + cred_lifetime;
The assignment in the if-statement should be "cred_lifetime = 24*60*60;"
because the current code would set client->cl_expiration to
2*time_uptime+24*60*60 - if it ever was GSS_C_INDEFINITE. Atleast until year
2106 or so (when the unsigned 32bit cred_lifetime will wrap around)...
Cache entries are invalidated when NFS shares are unmounted and most Kerberos
tickets do have a lifetime (10 hours typically) so this probably almost never
happens in real life but anyway...
I'd also like to propose adding a sysctl() where one can cap the cred_lifetime
to a lower value than the default (which is the ticket lifetime - about 10
hours on a "typical" system). With the current code a user being added to a new
group will not be "visible" for NFS until after the GSS cache entry expires (if
the user have something NFS-mounted from that server). It might be a good idea
to be able to force a lower timeout (like 1 hour or so).
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list