ACC SHELL
Kerberos Version 5, Release 1.8
Release Notes
The MIT Kerberos Team
Copyright and Other Notices
---------------------------
Copyright (C) 1985-2010 by the Massachusetts Institute of Technology
and its contributors. All rights reserved.
Please see the file named NOTICE for additional notices.
MIT Kerberos is a project of the MIT Kerberos Consortium. For more
information about the Kerberos Consortium, see http://kerberos.org/
For more information about the MIT Kerberos software, see
http://web.mit.edu/kerberos/
People interested in participating in the MIT Kerberos development
effort should see http://k5wiki.kerberos.org/
Building and Installing Kerberos 5
----------------------------------
The first file you should look at is doc/install-guide.ps; it contains
the notes for building and installing Kerberos 5. The info file
krb5-install.info has the same information in info file format. You
can view this using the GNU emacs info-mode, or by using the
standalone info file viewer from the Free Software Foundation. This
is also available as an HTML file, install.html.
Other good files to look at are admin-guide.ps and user-guide.ps,
which contain the system administrator's guide, and the user's guide,
respectively. They are also available as info files
kerberos-admin.info and krb5-user.info, respectively. These files are
also available as HTML files.
If you are attempting to build under Windows, please see the
src/windows/README file.
Reporting Bugs
--------------
Please report any problems/bugs/comments using the krb5-send-pr
program. The krb5-send-pr program will be installed in the sbin
directory once you have successfully compiled and installed Kerberos
V5 (or if you have installed one of our binary distributions).
If you are not able to use krb5-send-pr because you haven't been able
compile and install Kerberos V5 on any platform, you may send mail to
krb5-bugs@mit.edu.
Please keep in mind that unencrypted e-mail is not secure. If you need
to report a security vulnerability, or send sensitive information,
please PGP-encrypt it to krbcore-security@mit.edu.
You may view bug reports by visiting
http://krbdev.mit.edu/rt/
and logging in as "guest" with password "guest".
DES transition
--------------
The krb5-1.8 release disables single-DES cryptosystems by default. As
a result, you may need to add the libdefaults setting
"allow_weak_crypto = true" to communicate with existing Kerberos
infrastructures if they do not support stronger ciphers.
The Data Encryption Standard (DES) is widely recognized as weak. The
krb5-1.7 release contains measures to encourage sites to migrate away
from using single-DES cryptosystems. Among these is a configuration
variable that enables "weak" enctypes, which now defaults to "false"
beginning with krb5-1.8. The krb5-1.8 release includes additional
measures to ease the transition away from single-DES. These
additional measures include:
* enctype config enhancements (so you can do "DEFAULT +des", etc.)
* new API to allow applications (e.g. AFS) to explicitly reenable weak
crypto
* easier kadmin history key changes
Major changes in 1.8.1
----------------------
This is primarily a bugfix release.
* MITKRB5-SA-2010-002 CVE-2010-0628 denial of service in SPNEGO
* Support IPv6 in kpasswd client.
* Fix an authorization data type number assignment that conflicted
with an undocumented Microsoft usage.
krb5-1.8.1 changes by ticket ID
-------------------------------
6661 [RFE] properly support IPv6 in kpasswd
6668 Two problems in kadm5_get_principal mask handling
6674 memory leak in SPNEGO
6676 Ignore improperly encoded signedpath AD elements
6678 use of freed memory in gss_import_sec_context error path
6680 the "ticket_lifetime" setting isn't documented
6681 krb5_get_init_creds_password() can crash with NULL options and
expired keys
6683 kpasswd doesn't guess the client principal name correctly
without a ccache
6685 handle NT_SRV_INST in service principal referrals
6687 Change KRB5_AUTHDATA_SIGNTICKET from 142 to 512
6689 krb5_typed_data not castable to krb5_pa_data on 64-bit MacOSX
6690 MITKRB5-SA-2010-002 CVE-2010-0628 denial of service in SPNEGO
6693 Fix backwards flag output in krb5_init_creds_step()
Major changes in 1.8
--------------------
The krb5-1.8 release contains a large number of changes, featuring
improvements in the following broad areas:
* Code quality
* Developer experience
* Performance
* End-user experience
* Administrator experience
* Protocol evolution
Code quality:
* Move toward test-driven development -- new features have test code,
or at least written testing procedures.
* Remove applications to a separate distribution to simplify
independent maintenance.
* Increase conformance to coding style
+ "The great reindent"
+ Selective refactoring
Developer experience:
* Crypto modularity -- vendors can more easily substitute their own
crypto implementations, which might be hardware-accelerated or
validated to FIPS 140, for the builtin crypto implementation that
has historically shipped as part of MIT Kerberos. Currently, only
an OpenSSL provider is included, but others are planned for the
future.
* Move toward improved KDB interface
* Improved API for verifying and interrogating authorization data
Performance:
* Investigate and remedy repeatedly-reported performance bottlenecks.
* Encryption performance -- new crypto API with opaque key structures,
to allow for optimizations such as caching of derived keys
End-user experience:
* Reduce DNS dependence by implementing an interface that allows
client library to track whether a KDC supports service principal
referrals.
Administrator experience:
* Disable DES by default -- this reduces security exposure from using
an increasingly insecure cipher.
* More versatile crypto configuration, to simplify migration away from
DES -- new configuration syntax to allow inclusion and exclusion of
specific algorithms relative to a default set.
* Account lockout for repeated login failures -- mitigates online
password guessing attacks, and helps with some enterprise regulatory
compliance.
* Bridge layer to allow Heimdal HDB modules to act as KDB backend
modules. This provides a migration path from a Heimdal to an MIT
KDC.
Protocol evolution:
* FAST enhancements -- preauthentication framework enhancements to
allow a client to securely negotiate the use of FAST with a KDC of
unknown capabilities.
* Microsoft Services for User (S4U) compatibility: S4U2Self, also
known as "protocol transition", allows for service to ask a KDC for
a ticket to themselves on behalf of a client authenticated via a
different means; S4U2Proxy allows a service to ask a KDC for a
ticket to another service on behalf of a client.
* Anonymous PKINIT -- allows the use of public-key cryptography to
anonymously authenticate to a realm
* Support doing constrained delegation similar to Microsoft's
S4U2Proxy without the use of the Windows PAC. This functionality
uses a protocol compatible with Heimdal.
krb5-1.8 changes by ticket ID
-----------------------------
5468 delete kadmin v1 support
6206 new API for storing extra per-principal data in ccache
6434 krb5_cc_resolve() will crash if a null name param is provided
6454 Make krb5_mkt_resolve error handling work
6510 Restore limited support for static linking
6539 Enctype list configuration enhancements
6546 KDB should use enctype of stashed master key
6547 Modify kadm5 initializers to accept krb5 contexts
6563 Implement s4u extensions
6564 s4u extensions integration broke test suite...
6565 HP-UX IA64 wrong endian
6572 Implement GSS naming extensions and authdata verification
6576 Implement new APIs to allow improved crypto performance
6577 Account lockout for repeated login failures
6578 Heimdal DB bridge plugin for KDC back end
6580 Constrained delegation without PAC support
6582 Memory leak in _kadm5_init_any introduced with ipropd
6583 Unbundle applications into separate repository
6586 libkrb5 support for non-blocking AS requests
6590 allow testing even if name->addr->name mapping doesn't work
6591 fix slow behavior on Mac OS X with link-local addresses
6592 handle negative enctypes better
6593 Remove dependency on /bin/csh in test suite
6595 FAST (preauth framework) negotiation
6597 Add GSS extensions to store credentials, generate random bits
6598 gss_init_sec_context potential segfault
6599 memory leak in krb5_rd_req_decrypt_tkt_part
6600 gss_inquire_context cannot handle no target name from mechanism
6601 gsssspi_set_cred_option cannot handle mech specific option
6603 issues with SPNEGO
6605 PKINIT client should validate SAN for TGS, not service principal
6606 allow testing when offline
6607 anonymous PKINIT
6616 Fix spelling and hyphen errors in man pages
6618 Support optional creation of PID files for krb5kdc and kadmind
6620 kdc_supported_enctypes does nothing; eradicate mentions thereof
6621 disable weak crypto by default
6622 kinit_fast fails if weak enctype is among client principal keys
6623 Always treat anonymous as preauth required
6624 automated tests for anonymous pkinit
6625 yarrow code does not initialize keyblock enctype and uses
unitialized value
6626 Restore interoperability with 1.6 addprinc -randkey
6627 Set enctype in crypto_tests to prevent memory leaks
6628 krb5int_dk_string_to_key fails to set enctype
6629 krb5int_derive_key results in cache with uninitialized values
6630 krb5int_pbkdf2_hmac_sha1 fails to set enctype on keyblock
6632 Simplify and fix FAST check for keyed checksum type
6634 Use keyed checksum type for DES FAST
6640 Make history key exempt from permitted_enctypes
6642 Add test program for decryption of overly short buffers
6643 Problem with krb5 libcom_err vs. system libcom_err
6644 Change basename of libkadm5 libraries to avoid Heimdal conflict
6645 Add krb5_allow_weak_crypto API
6648 define MIN() in lib/gssapi/krb5/prf.c
6649 Get rid of kdb_ext.h and allow out-of-tree KDB plugins
6651 Handle migration from pre-1.7 databases with master key
kvno != 1 (1.8 pullup)
6652 Make decryption of master key list more robust
6653 set_default_enctype_var should filter not reject weak enctypes
6654 Fix greet_server build
6655 Fix cross-realm handling of AD-SIGNEDPATH
6656 krb5int_fast_free_state segfaults if state is null
6657 enc_padata can include empty sequence
6658 Implement gss_set_neg_mechs
6659 Additional memory leaks in kdc
6660 Minimal support for updating history key
6662 MITKRB5-SA-2010-001 CVE-2010-0283 KDC denial of service
6663 update mkrel to deal with changed source layout
6665 Fix cipher state chaining in OpenSSL back end
6669 doc updates for allow_weak_crypto
Acknowledgements
----------------
Past and present Sponsors of the MIT Kerberos Consortium:
Apple
Carnegie Mellon University
Centrify Corporation
Columbia University
Cornell University
The Department of Defense of the United States of America (DoD)
Google
Iowa State University
MIT
Michigan State University
Microsoft
The National Aeronautics and Space Administration
of the United States of America (NASA)
Nippon Telephone and Telegraph (NTT)
Oracle
Pennsylvania State University
Red Hat
Stanford University
TeamF1, Inc.
The University of Alaska
The University of Michigan
Past and present members of the Kerberos Team at MIT:
Danilo Almeida
Jeffrey Altman
Justin Anderson
Richard Basch
Mitch Berger
Jay Berkenbilt
Andrew Boardman
Bill Bryant
Steve Buckley
Joe Calzaretta
John Carr
Mark Colan
Don Davis
Alexandra Ellwood
Dan Geer
Nancy Gilman
Matt Hancher
Thomas Hardjono
Sam Hartman
Paul Hill
Marc Horowitz
Eva Jacobus
Miroslav Jurisic
Barry Jaspan
Geoffrey King
Kevin Koch
John Kohl
HaoQi Li
Peter Litwack
Scott McGuire
Steve Miller
Kevin Mitchell
Cliff Neuman
Paul Park
Ezra Peisach
Chris Provenzano
Ken Raeburn
Jon Rochlis
Jeff Schiller
Jen Selby
Robert Silk
Bill Sommerfeld
Jennifer Steiner
Ralph Swick
Brad Thompson
Harry Tsai
Zhanna Tsitkova
Ted Ts'o
Marshall Vale
Tom Yu
The following external contributors have provided code, patches, bug
reports, suggestions, and valuable resources:
Brandon Allbery
Russell Allbery
Michael B Allen
Derek Atkins
David Bantz
Alex Baule
Arlene Berry
Jeff Blaine
Radoslav Bodo
Emmanuel Bouillon
Michael Calmer
Ravi Channavajhala
Srinivas Cheruku
Howard Chu
Andrea Cirulli
Christopher D. Clausen
Kevin Coffman
Simon Cooper
Sylvain Cortes
Nalin Dahyabhai
Roland Dowdeswell
Jason Edgecombe
Mark Eichin
Shawn M. Emery
Douglas E. Engert
Peter Eriksson
Ronni Feldt
JC Ferguson
William Fiveash
Ákos Frohner
Marcus Granado
Scott Grizzard
Steve Grubb
Philip Guenther
Jakob Haufe
Jeff Hodges
Love Hörnquist Åstrand
Ken Hornstein
Henry B. Hotz
Luke Howard
Jakub Hrozek
Shumon Huque
Jeffrey Hutzelman
Wyllys Ingersoll
Holger Isenberg
Mikkel Kruse
Volker Lendecke
Jan iankko Lieskovsky
Ryan Lynch
Franklyn Mendez
Markus Moeller
Paul Moore
Zbysek Mraz
Edward Murrell
Nikos Nikoleris
Dmitri Pal
Javier Palacios
Ezra Peisach
W. Michael Petullo
Mark Phalan
Xu Qiang
Robert Relyea
Martin Rex
Guillaume Rousse
Tom Shaw
Peter Shoults
Simo Sorce
Michael Ströder
Bjørn Tore Sund
Rathor Vipin
Jorgen Wahlsten
Max (Weijun) Wang
John Washington
Marcus Watts
Simon Wilkinson
Nicolas Williams
Ross Wilper
Hanz van Zijst
The above is not an exhaustive list; many others have contributed in
various ways to the MIT Kerberos development effort over the years.
Other acknowledgments (for bug reports and patches) are in the
doc/CHANGES file.
ACC SHELL 2018