1Release Notes - Heimdal - Version Heimdal 7.7 2 3 Bug fixes 4 5 - PKCS#11 hcrypto back-end 6 . initialize the p11_module_load function list 7 . verify that not only is a mechanism present but that its mechanism 8 info states that it offers the required encryption, decryption or 9 digest services 10 - krb5: 11 . Starting with 7.6, Heimdal permitted requesting authenticated 12 anonymous tickets. However, it did not verify that a KDC in fact 13 returned an anonymous ticket when one was requested. 14 - Cease setting the KDCOption reaquest_anonymous flag when issuing 15 S4UProxy (constrained delegation) TGS requests. 16 . when the Win2K PKINIT compatibility option is set, do 17 not require krbtgt otherName to match when validating KDC 18 certificate. 19 . set PKINIT_BTMM flag per Apple implementation 20 . use memset_s() instead of memset() 21 - kdc: 22 . When generating KRB5SignedPath in the AS, use the reply client name 23 rather than the one from the request, so validation will work 24 correctly in the TGS. 25 . allow checksum of PA-FOR-USER to be HMAC_MD5. Even if tgt used 26 an enctype with a different checksum. Per [MS-SFU] 2.2.1 27 PA-FOR-USER the checksum is always HMAC_MD5, and that's what 28 Windows and MIT clients send. 29 30 In heimdal both the client and kdc use instead the 31 checksum of the tgt, and therefore work with each other 32 but Windows and MIT clients fail against heimdal KDC. 33 34 Both Windows and MIT KDCs would allow any keyed checksum 35 to be used so Heimdal client interoperates with them. 36 37 Change Heimdal KDC to allow HMAC_MD5 even for non RC4 38 based tgt in order to support per-spec clients. 39 . use memset_s() instead of memset(). 40 - Detect Heimdal 1.0 through 7.6 clients that issue S4UProxy 41 (constrained delegation) TGS Requests with the request 42 anonymous flag set. These requests will be treated as 43 S4UProxy requests and not anonymous requests. 44 - HDB: 45 . Set SQLite3 backend default page size to 8KB. 46 . Add hdb_set_sync() method 47 - kadmind: 48 . disable HDB sync during database load avoiding unnecessary disk i/o. 49 - ipropd: 50 . disable HDB sync during receive_everything. Doing an fsync 51 per-record when receiving the complete HDB is a performance 52 disaster. Among other things, if the HDB is very large, then 53 one slave receving a full HDB can cause other slaves to timeout 54 and, if HDB write activity is high enough to cause iprop log 55 truncation, then also need full syncs, which leads to a cycle of 56 full syncs for all slaves until HDB write activity drops. 57 Allowing the iprop log to be larger helps, but improving 58 receive_everything() performance helps even more. 59 - kinit: 60 . Anonymous PKINIT tickets discard the realm information used 61 to locate the issuing AS. Store the issuing realm in the 62 credentials cache in order to locate a KDC which can renew them. 63 . Do not leak the result of krb5_cc_get_config() when determining 64 anonymous PKINIT start realm. 65 - klist: 66 . Show transited-policy-checked, ok-as-delegate and anonymous 67 flags when listing credentials. 68 - tests: 69 . Regenerate certs so that they expire before the 2038 armageddon 70 so the test suite will pass on 32-bit operating systems until the 71 underlying issues can be resolved. 72 - Solaris: 73 . Define _STDC_C11_BCI for memset_s prototype 74 - build tooling: 75 . Convert from python 2 to python 3 76 - documentation 77 . rename verify-password to verify-password-quality 78 . hprop default mode is encrypt 79 . kadmind "all" permission does not include "get-keys" 80 . verify-password-quality might not be stateless 81 82Release Notes - Heimdal - Version Heimdal 7.6 83 84 Security 85 86 - CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum 87 88 When the Heimdal KDC checks the checksum that is placed on the 89 S4U2Self packet by the server to protect the requested principal 90 against modification, it does not confirm that the checksum 91 algorithm that protects the user name (principal) in the request 92 is keyed. This allows a man-in-the-middle attacker who can 93 intercept the request to the KDC to modify the packet by replacing 94 the user name (principal) in the request with any desired user 95 name (principal) that exists in the KDC and replace the checksum 96 protecting that name with a CRC32 checksum (which requires no 97 prior knowledge to compute). 98 99 This would allow a S4U2Self ticket requested on behalf of user 100 name (principal) user@EXAMPLE.COM to any service to be changed 101 to a S4U2Self ticket with a user name (principal) of 102 Administrator@EXAMPLE.COM. This ticket would then contain the 103 PAC of the modified user name (principal). 104 105 - CVE-2019-12098, client-only: 106 107 RFC8062 Section 7 requires verification of the PA-PKINIT-KX key excahnge 108 when anonymous PKINIT is used. Failure to do so can permit an active 109 attacker to become a man-in-the-middle. 110 111 Bug fixes 112 113 - Happy eyeballs: Don't wait for responses from known-unreachable KDCs. 114 - kdc: check return copy_Realm, copy_PrincipalName, copy_EncryptionKey 115 - kinit: 116 . cleanup temporary ccaches 117 . see man page for "kinit --anonymous" command line syntax change 118 - kdc: Make anonymous AS-requests more RFC8062-compliant. 119 - Updated expired test certificates 120 - Solaris: 121 . PKCS#11 hcrypto backend broken since 7.0.1 122 . Building with Sun Pro C 123 124 Features 125 126 - kuser: support authenticated anonymous AS-REQs in kinit 127 - kdc: support for anonymous TGS-REQs 128 - kgetcred support for anonymous service tickets 129 - Support builds with OpenSSL 1.1.1 130 131Release Notes - Heimdal - Version Heimdal 7.5 132 133 Security 134 135 - Fix CVE-2017-17439, which is a remote denial of service 136 vulnerability: 137 138 In Heimdal 7.1 through 7.4, remote unauthenticated attackers 139 are able to crash the KDC by sending a crafted UDP packet 140 containing empty data fields for client name or realm. 141 142 Bug fixes 143 144 - Handle long input lines when reloading database dumps. 145 146 - In pre-forked mode (default on Unix), correctly clear 147 the process ids of exited children, allowing new child processes 148 to replace the old. 149 150 - Fixed incorrect KDC response when no-cross realm TGT exists, 151 allowing client requests to fail quickly rather than time 152 out after trying to get a correct answer from each KDC. 153 154Release Notes - Heimdal - Version Heimdal 7.4 155 156 Security 157 158 - Fix CVE-2017-11103: Orpheus' Lyre KDC-REP service name validation 159 160 This is a critical vulnerability. 161 162 In _krb5_extract_ticket() the KDC-REP service name must be obtained from 163 encrypted version stored in 'enc_part' instead of the unencrypted version 164 stored in 'ticket'. Use of the unecrypted version provides an 165 opportunity for successful server impersonation and other attacks. 166 167 Identified by Jeffrey Altman, Viktor Duchovni and Nico Williams. 168 169 See https://www.orpheus-lyre.info/ for more details. 170 171Release Notes - Heimdal - Version Heimdal 7.3 172 173 Security 174 175 - Fix transit path validation. Commit f469fc6 (2010-10-02) inadvertently 176 caused the previous hop realm to not be added to the transit path 177 of issued tickets. This may, in some cases, enable bypass of capath 178 policy in Heimdal versions 1.5 through 7.2. 179 180 Note, this may break sites that rely on the bug. With the bug some 181 incomplete [capaths] worked, that should not have. These may now break 182 authentication in some cross-realm configurations. 183 (CVE-2017-6594) 184 185Release Notes - Heimdal - Version Heimdal 7.2 186 187 Bug fixes 188 - Portability improvements 189 - More strict parsing of encoded URI components in HTTP KDC 190 - Fixed memory leak in malloc error recovery in NTLM GSSAPI mechanism 191 - Avoid overly specific CPU info in krb5-config in aid of reproducible builds 192 - Don't do AFS string-to-key tests when feature is disabled 193 - Skip mdb_stat test when the command is not available 194 - Windows: update SHA2 timestamp server 195 - hdb: add missing export hdb_generate_key_set_password_with_ks_tuple 196 - Fix signature of hdb_generate_key_set_password() 197 - Windows: enable KX509 support in the KDC 198 - kdc: fix kx509 service principal match 199 - iprop: handle case where master sends nothing new 200 - ipropd-slave: fix incorrect error codes 201 - Allow choice of sqlite for HDB pref 202 - check-iprop: don't fail to kill daemons 203 - roken: pidfile -> rk_pidfile 204 - kdc: _kdc_do_kx509 fix use after free error 205 - Do not detect x32 as 64-bit platform. 206 - No sys/ttydefaults.h on CYGWIN 207 - Fix check-iprop races 208 - roken_detach_prep() close pipe 209 210Release Notes - Heimdal - Version Heimdal 7.1 211 212 Security 213 214 - kx509 realm-chopping security bug 215 - non-authorization of alias additions/removals in kadmind 216 (CVE-2016-2400) 217 218 Feature 219 220 - iprop has been revamped to fix a number of race conditions that could 221 lead to inconsistent replication 222 - Hierarchical capath support 223 - AES Encryption with HMAC-SHA2 for Kerberos 5 224 draft-ietf-kitten-aes-cts-hmac-sha2-11 225 - hcrypto is now thread safe on all platforms 226 - libhcrypto has new backends: CNG (Windows), PKCS#11 (mainly for 227 Solaris), and OpenSSL. OpenSSL is now a first-class libhcrypto backend. 228 OpenSSL 1.0.x and 1.1 are both supported. AES-NI used when supported by 229 backend 230 - HDB now supports LMDB 231 - Thread support on Windows 232 - RFC 6113 Generalized Framework for Kerberos Pre-Authentication (FAST) 233 - New GSS APIs: 234 . gss_localname 235 - Allow setting what encryption types a principal should have with 236 [kadmin] default_key_rules, see krb5.conf manpage for more info 237 - Unify libhcrypto with LTC (libtomcrypto) 238 - asn1_compile 64-bit INTEGER functionality 239 - HDB key history support including --keepold kadmin password option 240 - Improved cross-realm key rollover safety 241 - New krb5_kuserok() and krb5_aname_to_localname() plug-in interfaces 242 - Improved MIT compatibility 243 . kadm5 API 244 . Migration from MIT KDB via "mitdb" HDB backend 245 . Capable of writing the HDB in MIT dump format 246 - Improved Active Directory interoperability 247 . Enctype selection issues for PAC and other authz-data signatures 248 . Cross realm key rollover (kvno 0) 249 - New [kdc] enctype negotiation configuration: 250 . tgt-use-strongest-session-key 251 . svc-use-strongest-session-key 252 . preauth-use-strongest-session-key 253 . use-strongest-server-key 254 - The KDC process now uses a multi-process model improving 255 resiliency and performance 256 - Allow batch-mode kinit with password file 257 - SIGINFO support added to kinit cmd 258 - New kx509 configuration options: 259 . kx509_ca 260 . kca_service 261 . kx509_include_pkinit_san 262 . kx509_template 263 - Improved Heimdal library/plugin version safety 264 - Name canonicalization 265 . DNS resolver searchlist 266 . Improved referral support 267 . Support host:port host-based services 268 - Pluggable libheimbase interface for DBs 269 - Improve IPv6 Support 270 - LDAP 271 . Bind DN and password 272 . Start TLS 273 - klist --json 274 - DIR credential cache type 275 - Updated upstream SQLite and libedit 276 - Removed legacy applications: ftp, kx, login, popper, push, rcp, rsh, 277 telnet, xnlock 278 - Completely remove RAND_egd support 279 - Moved kadmin and ktutil to /usr/bin 280 - Stricter fcache checks (see fcache_strict_checking krb5.conf setting) 281 . use O_NOFOLLOW 282 . don't follow symlinks 283 . require cache files to be owned by the user 284 . require sensible permissions (not group/other readable) 285 - Implemented gss_store_cred() 286 - Many more 287 288 Bug fixes 289 - iprop has been revamped to fix a number of race conditions that could 290 lead to data loss 291 - Include non-loopback addresses assigned to loopback interfaces 292 when requesting tickets with addresses 293 - KDC 1DES session key selection (for AFS rxkad-k5 compatibility) 294 - Keytab file descriptor and lock leak 295 - Credential cache corruption bugs 296 (NOTE: The FILE ccache is still not entirely safe due to the 297 fundamentally unsafe design of POSIX file locking) 298 - gss_pseudo_random() interop bug 299 - Plugins are now preferentially loaded from the run-time install tree 300 - Reauthentication after password change in init_creds_password 301 - Memory leak in the client kadmin library 302 - TGS client requests renewable/forwardable/proxiable when possible 303 - Locking issues in DB1 and DB3 HDB backends 304 - Master HDB can remain locked while waiting for network I/O 305 - Renewal/refresh logic when kinit is provided with a command 306 - KDC handling of enterprise principals 307 - Use correct bit for anon-pkinit 308 - Many more 309 310 Acknowledgements 311 312 This release of Heimdal includes contributions from: 313 314 Abhinav Upadhyay Heath Kehoe Nico Williams 315 Andreas Schneider Henry Jacques Patrik Lundin 316 Andrew Bartlett Howard Chu Philip Boulain 317 Andrew Tridgell Igor Sobrado Ragnar Sundblad 318 Antoine Jacoutot Ingo Schwarze Remi Ferrand 319 Arran Cudbard-Bell Jakub Čajka Rod Widdowson 320 Arvid Requate James Le Cuirot Rok Papež 321 Asanka Herath James Lee Roland C. Dowdeswell 322 Ben Kaduk Jeffrey Altman Ross L Richardson 323 Benjamin Kaduk Jeffrey Clark Russ Allbery 324 Bernard Spil Jeffrey Hutzelman Samuel Cabrero 325 Brian May Jelmer Vernooij Samuel Thibault 326 Chas Williams Ken Dreyer Santosh Kumar Pradhan 327 Chaskiel Grundman Kiran S J Sean Davis 328 Dana Koch Kumar Thangavelu Sergio Gelato 329 Daniel Schepler Landon Fuller Simon Wilkinson 330 David Mulder Linus Nordberg Stef Walter 331 Douglas Bagnall Love Hörnquist Åstrand Stefan Metzmacher 332 Ed Maste Luke Howard Steffen Jaeckel 333 Eray Aslan Magnus Ahltorp Timothy Pearson 334 Florian Best Marc Balmer Tollef Fog Heen 335 Fredrik Pettai Marcin Cieślak Tony Acero 336 Greg Hudson Marco Molteni Uri Simchoni 337 Gustavo Zacarias Matthieu Hautreux Viktor Dukhovni 338 Günther Deschner Michael Meffie Volker Lendecke 339 Harald Barth Moritz Lenz 340 341Release Notes - Heimdal - Version Heimdal 1.5.3 342 343 Bug fixes 344 - Fix leaking file descriptors in KDC 345 - Better socket/timeout handling in libkrb5 346 - General bug fixes 347 - Build fixes 348 349Release Notes - Heimdal - Version Heimdal 1.5.2 350 351 Security fixes 352 - CVE-2011-4862 Buffer overflow in libtelnet/encrypt.c in telnetd - escalation of privilege 353 - Check that key types strictly match - denial of service 354 355Release Notes - Heimdal - Version Heimdal 1.5.1 356 357 Bug fixes 358 - Fix building on Solaris, requires c99 359 - Fix building on Windows 360 - Build system updates 361 362Release Notes - Heimdal - Version Heimdal 1.5 363 364New features 365 366 - Support GSS name extensions/attributes 367 - SHA512 support 368 - No Kerberos 4 support 369 - Basic support for MIT Admin protocol (SECGSS flavor) 370 in kadmind (extract keytab) 371 - Replace editline with libedit 372 373Release Notes - Heimdal - Version Heimdal 1.4 374 375 New features 376 377 - Support for reading MIT database file directly 378 - KCM is polished up and now used in production 379 - NTLM first class citizen, credentials stored in KCM 380 - Table driven ASN.1 compiler, smaller!, not enabled by default 381 - Native Windows client support 382 383Notes 384 385 - Disabled write support NDBM hdb backend (read still in there) since 386 it can't handle large records, please migrate to a diffrent backend 387 (like BDB4) 388 389Release Notes - Heimdal - Version Heimdal 1.3.3 390 391 Bug fixes 392 - Check the GSS-API checksum exists before trying to use it [CVE-2010-1321] 393 - Check NULL pointers before dereference them [kdc] 394 395Release Notes - Heimdal - Version Heimdal 1.3.2 396 397 Bug fixes 398 399 - Don't mix length when clearing hmac (could memset too much) 400 - More paranoid underrun checking when decrypting packets 401 - Check the password change requests and refuse to answer empty packets 402 - Build on OpenSolaris 403 - Renumber AD-SIGNED-TICKET since it was stolen from US 404 - Don't cache /dev/*random file descriptor, it doesn't get unloaded 405 - Make C++ safe 406 - Misc warnings 407 408Release Notes - Heimdal - Version Heimdal 1.3.1 409 410 Bug fixes 411 412 - Store KDC offset in credentials 413 - Many many more bug fixes 414 415Release Notes - Heimdal - Version Heimdal 1.3.1 416 417 New features 418 419 - Make work with OpenLDAPs krb5 overlay 420 421Release Notes - Heimdal - Version Heimdal 1.3 422 423 New features 424 425 - Partial support for MIT kadmind rpc protocol in kadmind 426 - Better support for finding keytab entries when using SPN aliases in the KDC 427 - Support BER in ASN.1 library (needed for CMS) 428 - Support decryption in Keychain private keys 429 - Support for new sqlite based credential cache 430 - Try both KDC referals and the common DNS reverse lookup in GSS-API 431 - Fix the KCM to not leak resources on failure 432 - Add IPv6 support to iprop 433 - Support localization of error strings in 434 kinit/klist/kdestroy and Kerberos library 435 - Remove Kerberos 4 support in application (still in KDC) 436 - Deprecate DES 437 - Support i18n password in windows domains (using UTF-8) 438 - More complete API emulation of OpenSSL in hcrypto 439 - Support for ECDSA and ECDH when linking with OpenSSL 440 441 API changes 442 443 - Support for settin friendly name on credential caches 444 - Move to using doxygen to generate documentation. 445 - Sprinkling __attribute__((__deprecated__)) for old function to be removed 446 - Support to export LAST-REQUST information in AS-REQ 447 - Support for client deferrals in in AS-REQ 448 - Add seek support for krb5_storage. 449 - Support for split AS-REQ, first step for IA-KERB 450 - Fix many memory leaks and bugs 451 - Improved regression test 452 - Support krb5_cccol 453 - Switch to krb5_set_error_message 454 - Support krb5_crypto_*_iov 455 - Switch to use EVP for most function 456 - Use SOCK_CLOEXEC and O_CLOEXEC (close on exec) 457 - Add support for GSS_C_DELEG_POLICY_FLAG 458 - Add krb5_cc_[gs]et_config to store data in the credential caches 459 - PTY testing application 460 461Bugfixes 462 - Make building on AIX6 possible. 463 - Bugfixes in LDAP KDC code to make it more stable 464 - Make ipropd-slave reconnect when master down gown 465 466 467Release Notes - Heimdal - Version Heimdal 1.2.1 468 469* Bug 470 471 [HEIMDAL-147] - Heimdal 1.2 not compiling on Solaris 472 [HEIMDAL-151] - Make canned tests work again after cert expired 473 [HEIMDAL-152] - iprop test: use full hostname to avoid realm 474 resolving errors 475 [HEIMDAL-153] - ftp: Use the correct length for unmap, msync 476 477Release Notes - Heimdal - Version Heimdal 1.2 478 479* Bug 480 481 [HEIMDAL-10] - Follow-up on bug report for SEGFAULT in 482 gss_display_name/gss_export_name when using SPNEGO 483 [HEIMDAL-15] - Re: [Heimdal-bugs] potential bug in Heimdal 1.1 484 [HEIMDAL-17] - Remove support for depricated [libdefaults]capath 485 [HEIMDAL-52] - hdb overwrite aliases for db databases 486 [HEIMDAL-54] - Two issues which affect credentials delegation 487 [HEIMDAL-58] - sockbuf.c calls setsockopt with bad args 488 [HEIMDAL-62] - Fix printing of sig_atomic_t 489 [HEIMDAL-87] - heimdal 1.1 not building under cygwin in hcrypto 490 [HEIMDAL-105] - rcp: sync rcp with upstream bsd rcp codebase 491 [HEIMDAL-117] - Use libtool to detect symbol versioning (Debian Bug#453241) 492 493* Improvement 494 [HEIMDAL-67] - Fix locking and store credential in atomic writes 495 in the FILE credential cache 496 [HEIMDAL-106] - make compile on cygwin again 497 [HEIMDAL-107] - Replace old random key generation in des module 498 and use it with RAND_ function instead 499 [HEIMDAL-115] - Better documentation and compatibility in hcrypto 500 in regards to OpenSSL 501 502* New Feature 503 [HEIMDAL-3] - pkinit alg agility PRF test vectors 504 [HEIMDAL-14] - Add libwind to Heimdal 505 [HEIMDAL-16] - Use libwind in hx509 506 [HEIMDAL-55] - Add flag to krb5 to not add GSS-API INT|CONF to 507 the negotiation 508 [HEIMDAL-74] - Add support to report extended error message back 509 in AS-REQ to support windows clients 510 [HEIMDAL-116] - test pty based application (using rkpty) 511 [HEIMDAL-120] - Use new OpenLDAP API (older deprecated) 512 513* Task 514 [HEIMDAL-63] - Dont try key usage KRB5_KU_AP_REQ_AUTH for TGS-REQ. 515 This drop compatibility with pre 0.3d KDCs. 516 [HEIMDAL-64] - kcm: first implementation of kcm-move-cache 517 [HEIMDAL-65] - Failed to compile with --disable-pk-init 518 [HEIMDAL-80] - verify that [VU#162289]: gcc silently discards some 519 wraparound checks doesn't apply to Heimdal 520 521Changes in release 1.1 522 523 * Read-only PKCS11 provider built-in to hx509. 524 525 * Documentation for hx509, hcrypto and ntlm libraries improved. 526 527 * Better compatibilty with Windows 2008 Server pre-releases and Vista. 528 529 * Mac OS X 10.5 support for native credential cache. 530 531 * Provide pkg-config file for Heimdal (heimdal-gssapi.pc). 532 533 * Bug fixes. 534 535Changes in release 1.0.2 536 537* Ubuntu packages. 538 539* Bug fixes. 540 541Changes in release 1.0.1 542 543 * Serveral bug fixes to iprop. 544 545 * Make work on platforms without dlopen. 546 547 * Add RFC3526 modp group14 as default. 548 549 * Handle [kdc] database = { } entries without realm = stanzas. 550 551 * Make krb5_get_renewed_creds work. 552 553 * Make kaserver preauth work again. 554 555 * Bug fixes. 556 557Changes in release 1.0 558 559 * Add gss_pseudo_random() for mechglue and krb5. 560 561 * Make session key for the krbtgt be selected by the best encryption 562 type of the client. 563 564 * Better interoperability with other PK-INIT implementations. 565 566 * Inital support for Mac OS X Keychain for hx509. 567 568 * Alias support for inital ticket requests. 569 570 * Add symbol versioning to selected libraries on platforms that uses 571 GNU link editor: gssapi, hcrypto, heimntlm, hx509, krb5, and libkdc. 572 573 * New version of imath included in hcrypto. 574 575 * Fix memory leaks. 576 577 * Bugs fixes. 578 579Changes in release 0.8.1 580 581 * Make ASN.1 library less paranoid to with regard to NUL in string to 582 make it inter-operate with MIT Kerberos again. 583 584 * Make GSS-API library work again when using gss_acquire_cred 585 586 * Add symbol versioning to libgssapi when using GNU ld. 587 588 * Fix memory leaks 589 590 * Bugs fixes 591 592Changes in release 0.8 593 594 * PK-INIT support. 595 596 * HDB extensions support, used by PK-INIT. 597 598 * New ASN.1 compiler. 599 600 * GSS-API mechglue from FreeBSD. 601 602 * Updated SPNEGO to support RFC4178. 603 604 * Support for Cryptosystem Negotiation Extension (RFC 4537). 605 606 * A new X.509 library (hx509) and related crypto functions. 607 608 * A new ntlm library (heimntlm) and related crypto functions. 609 610 * Updated the built-in crypto library with bignum support using 611 imath, support for RSA and DH and renamed it to libhcrypto. 612 613 * Subsystem in the KDC, digest, that will perform the digest 614 operation in the KDC, currently supports: CHAP, MS-CHAP-V2, SASL 615 DIGEST-MD5 NTLMv1 and NTLMv2. 616 617 * KDC will return the "response too big" error to force TCP retries 618 for large (default 1400 bytes) UDP replies. This is common for 619 PK-INIT requests. 620 621 * Libkafs defaults to use 2b tokens. 622 623 * Default to use the API cache on Mac OS X. 624 625 * krb5_kuserok() also checks ~/.k5login.d directory for acl files, 626 see manpage for krb5_kuserok for description. 627 628 * Many, many, other updates to code and info manual and manual pages. 629 630 * Bug fixes 631 632Changes in release 0.7.2 633 634* Fix security problem in rshd that enable an attacker to overwrite 635 and change ownership of any file that root could write. 636 637* Fix a DOS in telnetd. The attacker could force the server to crash 638 in a NULL de-reference before the user logged in, resulting in inetd 639 turning telnetd off because it forked too fast. 640 641* Make gss_acquire_cred(GSS_C_ACCEPT) check that the requested name 642 exists in the keytab before returning success. This allows servers 643 to check if its even possible to use GSSAPI. 644 645* Fix receiving end of token delegation for GSS-API. It still wrongly 646 uses subkey for sending for compatibility reasons, this will change 647 in 0.8. 648 649* telnetd, login and rshd are now more verbose in logging failed and 650 successful logins. 651 652* Bug fixes 653 654Changes in release 0.7.1 655 656* Bug fixes 657 658Changes in release 0.7 659 660 * Support for KCM, a process based credential cache 661 662 * Support CCAPI credential cache 663 664 * SPNEGO support 665 666 * AES (and the gssapi conterpart, CFX) support 667 668 * Adding new and improve old documentation 669 670 * Bug fixes 671 672Changes in release 0.6.6 673 674* Fix security problem in rshd that enable an attacker to overwrite 675 and change ownership of any file that root could write. 676 677* Fix a DOS in telnetd. The attacker could force the server to crash 678 in a NULL de-reference before the user logged in, resulting in inetd 679 turning telnetd off because it forked too fast. 680 681Changes in release 0.6.5 682 683 * fix vulnerabilities in telnetd 684 685 * unbreak Kerberos 4 and kaserver 686 687Changes in release 0.6.4 688 689 * fix vulnerabilities in telnet 690 691 * rshd: encryption without a separate error socket should now work 692 693 * telnet now uses appdefaults for the encrypt and forward/forwardable 694 settings 695 696 * bug fixes 697 698Changes in release 0.6.3 699 700 * fix vulnerabilities in ftpd 701 702 * support for linux AFS /proc "syscalls" 703 704 * support for RFC3244 (Windows 2000 Kerberos Change/Set Password) in 705 kpasswdd 706 707 * fix possible KDC denial of service 708 709 * bug fixes 710 711Changes in release 0.6.2 712 713 * Fix possible buffer overrun in v4 kadmin (which now defaults to off) 714 715Changes in release 0.6.1 716 717 * Fixed ARCFOUR suppport 718 719 * Cross realm vulnerability 720 721 * kdc: fix denial of service attack 722 723 * kdc: stop clients from renewing tickets into the future 724 725 * bug fixes 726 727Changes in release 0.6 728 729* The DES3 GSS-API mechanism has been changed to inter-operate with 730 other GSSAPI implementations. See man page for gssapi(3) how to turn 731 on generation of correct MIC messages. Next major release of heimdal 732 will generate correct MIC by default. 733 734* More complete GSS-API support 735 736* Better AFS support: kdc (524) supports 2b; 524 in kdc and AFS 737 support in applications no longer requires Kerberos 4 libs 738 739* Kerberos 4 support in kdc defaults to turned off (includes ka and 524) 740 741* other bug fixes 742 743Changes in release 0.5.2 744 745 * kdc: add option for disabling v4 cross-realm (defaults to off) 746 747 * bug fixes 748 749Changes in release 0.5.1 750 751 * kadmind: fix remote exploit 752 753 * kadmind: add option to disable kerberos 4 754 755 * kdc: make sure kaserver token life is positive 756 757 * telnet: use the session key if there is no subkey 758 759 * fix EPSV parsing in ftp 760 761 * other bug fixes 762 763Changes in release 0.5 764 765 * add --detach option to kdc 766 767 * allow setting forward and forwardable option in telnet from 768 .telnetrc, with override from command line 769 770 * accept addresses with or without ports in krb5_rd_cred 771 772 * make it work with modern openssl 773 774 * use our own string2key function even with openssl (that handles weak 775 keys incorrectly) 776 777 * more system-specific requirements in login 778 779 * do not use getlogin() to determine root in su 780 781 * telnet: abort if telnetd does not support encryption 782 783 * update autoconf to 2.53 784 785 * update config.guess, config.sub 786 787 * other bug fixes 788 789Changes in release 0.4e 790 791 * improve libcrypto and database autoconf tests 792 793 * do not care about salting of server principals when serving v4 requests 794 795 * some improvements to gssapi library 796 797 * test for existing compile_et/libcom_err 798 799 * portability fixes 800 801 * bug fixes 802 803Changes in release 0.4d 804 805 * fix some problems when using libcrypto from openssl 806 807 * handle /dev/ptmx `unix98' ptys on Linux 808 809 * add some forgotten man pages 810 811 * rsh: clean-up and add man page 812 813 * fix -A and -a in builtin-ls in tpd 814 815 * fix building problem on Irix 816 817 * make `ktutil get' more efficient 818 819 * bug fixes 820 821Changes in release 0.4c 822 823 * fix buffer overrun in telnetd 824 825 * repair some of the v4 fallback code in kinit 826 827 * add more shared library dependencies 828 829 * simplify and fix hprop handling of v4 databases 830 831 * fix some building problems (osf's sia and osfc2 login) 832 833 * bug fixes 834 835Changes in release 0.4b 836 837 * update the shared library version numbers correctly 838 839Changes in release 0.4a 840 841 * corrected key used for checksum in mk_safe, unfortunately this 842 makes it backwards incompatible 843 844 * update to autoconf 2.50, libtool 1.4 845 846 * re-write dns/config lookups (krb5_krbhst API) 847 848 * make order of using subkeys consistent 849 850 * add man page links 851 852 * add more man pages 853 854 * remove rfc2052 support, now only rfc2782 is supported 855 856 * always build with kaserver protocol support in the KDC (assuming 857 KRB4 is enabled) and support for reading kaserver databases in 858 hprop 859 860Changes in release 0.3f 861 862 * change default keytab to ANY:FILE:/etc/krb5.keytab,krb4:/etc/srvtab, 863 the new keytab type that tries both of these in order (SRVTAB is 864 also an alias for krb4:) 865 866 * improve error reporting and error handling (error messages should 867 be more detailed and more useful) 868 869 * improve building with openssl 870 871 * add kadmin -K, rcp -F 872 873 * fix two incorrect weak DES keys 874 875 * fix building of kaserver compat in KDC 876 877 * the API is closer to what MIT krb5 is using 878 879 * more compatible with windows 2000 880 881 * removed some memory leaks 882 883 * bug fixes 884 885Changes in release 0.3e 886 887 * rcp program included 888 889 * fix buffer overrun in ftpd 890 891 * handle omitted sequence numbers as zeroes to handle MIT krb5 that 892 cannot generate zero sequence numbers 893 894 * handle v4 /.k files better 895 896 * configure/portability fixes 897 898 * fixes in parsing of options to kadmin (sub-)commands 899 900 * handle errors in kadmin load better 901 902 * bug fixes 903 904Changes in release 0.3d 905 906 * add krb5-config 907 908 * fix a bug in 3des gss-api mechanism, making it compatible with the 909 specification and the MIT implementation 910 911 * make telnetd only allow a specific list of environment variables to 912 stop it from setting `sensitive' variables 913 914 * try to use an existing libdes 915 916 * lib/krb5, kdc: use correct usage type for ap-req messages. This 917 should improve compatability with MIT krb5 when using 3DES 918 encryption types 919 920 * kdc: fix memory allocation problem 921 922 * update config.guess and config.sub 923 924 * lib/roken: more stuff implemented 925 926 * bug fixes and portability enhancements 927 928Changes in release 0.3c 929 930 * lib/krb5: memory caches now support the resolve operation 931 932 * appl/login: set PATH to some sane default 933 934 * kadmind: handle several realms 935 936 * bug fixes (including memory leaks) 937 938Changes in release 0.3b 939 940 * kdc: prefer default-salted keys on v5 requests 941 942 * kdc: lowercase hostnames in v4 mode 943 944 * hprop: handle more types of MIT salts 945 946 * lib/krb5: fix memory leak 947 948 * bug fixes 949 950Changes in release 0.3a: 951 952 * implement arcfour-hmac-md5 to interoperate with W2K 953 954 * modularise the handling of the master key, and allow for other 955 encryption types. This makes it easier to import a database from 956 some other source without having to re-encrypt all keys. 957 958 * allow for better control over which encryption types are created 959 960 * make kinit fallback to v4 if given a v4 KDC 961 962 * make klist work better with v4 and v5, and add some more MIT 963 compatibility options 964 965 * make the kdc listen on the krb524 (4444) port for compatibility 966 with MIT krb5 clients 967 968 * implement more DCE/DFS support, enabled with --enable-dce, see 969 lib/kdfs and appl/dceutils 970 971 * make the sequence numbers work correctly 972 973 * bug fixes 974 975Changes in release 0.2t: 976 977 * bug fixes 978 979Changes in release 0.2s: 980 981 * add OpenLDAP support in hdb 982 983 * login will get v4 tickets when it receives forwarded tickets 984 985 * xnlock supports both v5 and v4 986 987 * repair source routing for telnet 988 989 * fix building problems with krb4 (krb_mk_req) 990 991 * bug fixes 992 993Changes in release 0.2r: 994 995 * fix realloc memory corruption bug in kdc 996 997 * `add --key' and `cpw --key' in kadmin 998 999 * klist supports listing v4 tickets 1000 1001 * update config.guess and config.sub 1002 1003 * make v4 -> v5 principal name conversion more robust 1004 1005 * support for anonymous tickets 1006 1007 * new man-pages 1008 1009 * telnetd: do not negotiate KERBEROS5 authentication if there's no keytab. 1010 1011 * use and set expiration and not password expiration when dumping 1012 to/from ka server databases / krb4 databases 1013 1014 * make the code happier with 64-bit time_t 1015 1016 * follow RFC2782 and by default do not look for non-underscore SRV names 1017 1018Changes in release 0.2q: 1019 1020 * bug fix in tcp-handling in kdc 1021 1022 * bug fix in expand_hostname 1023 1024Changes in release 0.2p: 1025 1026 * bug fix in `kadmin load/merge' 1027 1028 * bug fix in krb5_parse_address 1029 1030Changes in release 0.2o: 1031 1032 * gss_{import,export}_sec_context added to libgssapi 1033 1034 * new option --addresses to kdc (for listening on an explicit set of 1035 addresses) 1036 1037 * bug fixes in the krb4 and kaserver emulation part of the kdc 1038 1039 * other bug fixes 1040 1041Changes in release 0.2n: 1042 1043 * more robust parsing of dump files in kadmin 1044 * changed default timestamp format for log messages to extended ISO 1045 8601 format (Y-M-DTH:M:S) 1046 * changed md4/md5/sha1 APIes to be de-facto `standard' 1047 * always make hostname into lower-case before creating principal 1048 * small bits of more MIT-compatability 1049 * bug fixes 1050 1051Changes in release 0.2m: 1052 1053 * handle glibc's getaddrinfo() that returns several ai_canonname 1054 1055 * new endian test 1056 1057 * man pages fixes 1058 1059Changes in release 0.2l: 1060 1061 * bug fixes 1062 1063Changes in release 0.2k: 1064 1065 * better IPv6 test 1066 1067 * make struct sockaddr_storage in roken work better on alphas 1068 1069 * some missing [hn]to[hn]s fixed. 1070 1071 * allow users to change their own passwords with kadmin (with initial 1072 tickets) 1073 1074 * fix stupid bug in parsing KDC specification 1075 1076 * add `ktutil change' and `ktutil purge' 1077 1078Changes in release 0.2j: 1079 1080 * builds on Irix 1081 1082 * ftpd works in passive mode 1083 1084 * should build on cygwin 1085 1086 * work around broken IPv6-code on OpenBSD 2.6, also add configure 1087 option --disable-ipv6 1088 1089Changes in release 0.2i: 1090 1091 * use getaddrinfo in the missing places. 1092 1093 * fix SRV lookup for admin server 1094 1095 * use get{addr,name}info everywhere. and implement it in terms of 1096 getipnodeby{name,addr} (which uses gethostbyname{,2} and 1097 gethostbyaddr) 1098 1099Changes in release 0.2h: 1100 1101 * fix typo in kx (now compiles) 1102 1103Changes in release 0.2g: 1104 1105 * lots of bug fixes: 1106 * push works 1107 * repair appl/test programs 1108 * sockaddr_storage works on solaris (alignment issues) 1109 * works better with non-roken getaddrinfo 1110 * rsh works 1111 * some non standard C constructs removed 1112 1113Changes in release 0.2f: 1114 1115 * support SRV records for kpasswd 1116 * look for both _kerberos and krb5-realm when doing host -> realm mapping 1117 1118Changes in release 0.2e: 1119 1120 * changed copyright notices to remove `advertising'-clause. 1121 * get{addr,name}info added to roken and used in the other code 1122 (this makes things work much better with hosts with both v4 and v6 1123 addresses, among other things) 1124 * do pre-auth for both password and key-based get_in_tkt 1125 * support for having several databases 1126 * new command `del_enctype' in kadmin 1127 * strptime (and new strftime) add to roken 1128 * more paranoia about finding libdb 1129 * bug fixes 1130 1131Changes in release 0.2d: 1132 1133 * new configuration option [libdefaults]default_etypes_des 1134 * internal ls in ftpd builds without KRB4 1135 * kx/rsh/push/pop_debug tries v5 and v4 consistenly 1136 * build bug fixes 1137 * other bug fixes 1138 1139Changes in release 0.2c: 1140 1141 * bug fixes (see ChangeLog's for details) 1142 1143Changes in release 0.2b: 1144 1145 * bug fixes 1146 * actually bump shared library versions 1147 1148Changes in release 0.2a: 1149 1150 * a new program verify_krb5_conf for checking your /etc/krb5.conf 1151 * add 3DES keys when changing password 1152 * support null keys in database 1153 * support multiple local realms 1154 * implement a keytab backend for AFS KeyFile's 1155 * implement a keytab backend for v4 srvtabs 1156 * implement `ktutil copy' 1157 * support password quality control in v4 kadmind 1158 * improvements in v4 compat kadmind 1159 * handle the case of having the correct cred in the ccache but with 1160 the wrong encryption type better 1161 * v6-ify the remaining programs. 1162 * internal ls in ftpd 1163 * rename strcpy_truncate/strcat_truncate to strlcpy/strlcat 1164 * add `ank --random-password' and `cpw --random-password' in kadmin 1165 * some programs and documentation for trying to talk to a W2K KDC 1166 * bug fixes 1167 1168Changes in release 0.1m: 1169 1170 * support for getting default from krb5.conf for kinit/kf/rsh/telnet. 1171 From Miroslav Ruda <ruda@ics.muni.cz> 1172 * v6-ify hprop and hpropd 1173 * support numeric addresses in krb5_mk_req 1174 * shadow support in login and su. From Miroslav Ruda <ruda@ics.muni.cz> 1175 * make rsh/rshd IPv6-aware 1176 * make the gssapi sample applications better at reporting errors 1177 * lots of bug fixes 1178 * handle systems with v6-aware libc and non-v6 kernels (like Linux 1179 with glibc 2.1) better 1180 * hide failure of ERPT in ftp 1181 * lots of bug fixes 1182 1183Changes in release 0.1l: 1184 1185 * make ftp and ftpd IPv6-aware 1186 * add inet_pton to roken 1187 * more IPv6-awareness 1188 * make mini_inetd v6 aware 1189 1190Changes in release 0.1k: 1191 1192 * bump shared libraries versions 1193 * add roken version of inet_ntop 1194 * merge more changes to rshd 1195 1196Changes in release 0.1j: 1197 1198 * restore back to the `old' 3DES code. This was supposed to be done 1199 in 0.1h and 0.1i but I did a CVS screw-up. 1200 * make telnetd handle v6 connections 1201 1202Changes in release 0.1i: 1203 1204 * start using `struct sockaddr_storage' which simplifies the code 1205 (with a fallback definition if it's not defined) 1206 * bug fixes (including in hprop and kf) 1207 * don't use mawk which seems to mishandle roken.awk 1208 * get_addrs should be able to handle v6 addresses on Linux (with the 1209 required patch to the Linux kernel -- ask within) 1210 * rshd builds with shadow passwords 1211 1212Changes in release 0.1h: 1213 1214 * kf: new program for forwarding credentials 1215 * portability fixes 1216 * make forwarding credentials work with MIT code 1217 * better conversion of ka database 1218 * add etc/services.append 1219 * correct `modified by' from kpasswdd 1220 * lots of bug fixes 1221 1222Changes in release 0.1g: 1223 1224 * kgetcred: new program for explicitly obtaining tickets 1225 * configure fixes 1226 * krb5-aware kx 1227 * bug fixes 1228 1229Changes in release 0.1f; 1230 1231 * experimental support for v4 kadmin protokoll in kadmind 1232 * bug fixes 1233 1234Changes in release 0.1e: 1235 1236 * try to handle old DCE and MIT kdcs 1237 * support for older versions of credential cache files and keytabs 1238 * postdated tickets work 1239 * support for password quality checks in kpasswdd 1240 * new flag --enable-kaserver for kdc 1241 * renew fixes 1242 * prototype su program 1243 * updated (some) manpages 1244 * support for KDC resource records 1245 * should build with --without-krb4 1246 * bug fixes 1247 1248Changes in release 0.1d: 1249 1250 * Support building with DB2 (uses 1.85-compat API) 1251 * Support krb5-realm.DOMAIN in DNS 1252 * new `ktutil srvcreate' 1253 * v4/kafs support in klist/kdestroy 1254 * bug fixes 1255 1256Changes in release 0.1c: 1257 1258 * fix ASN.1 encoding of signed integers 1259 * somewhat working `ktutil get' 1260 * some documentation updates 1261 * update to Autoconf 2.13 and Automake 1.4 1262 * the usual bug fixes 1263 1264Changes in release 0.1b: 1265 1266 * some old -> new crypto conversion utils 1267 * bug fixes 1268 1269Changes in release 0.1a: 1270 1271 * new crypto code 1272 * more bug fixes 1273 * make sure we ask for DES keys in gssapi 1274 * support signed ints in ASN1 1275 * IPv6-bug fixes 1276 1277Changes in release 0.0u: 1278 1279 * lots of bug fixes 1280 1281Changes in release 0.0t: 1282 1283 * more robust parsing of krb5.conf 1284 * include net{read,write} in lib/roken 1285 * bug fixes 1286 1287Changes in release 0.0s: 1288 1289 * kludges for parsing options to rsh 1290 * more robust parsing of krb5.conf 1291 * removed some arbitrary limits 1292 * bug fixes 1293 1294Changes in release 0.0r: 1295 1296 * default options for some programs 1297 * bug fixes 1298 1299Changes in release 0.0q: 1300 1301 * support for building shared libraries with libtool 1302 * bug fixes 1303 1304Changes in release 0.0p: 1305 1306 * keytab moved to /etc/krb5.keytab 1307 * avoid false detection of IPv6 on Linux 1308 * Lots of more functionality in the gssapi-library 1309 * hprop can now read ka-server databases 1310 * bug fixes 1311 1312Changes in release 0.0o: 1313 1314 * FTP with GSSAPI support. 1315 * Bug fixes. 1316 1317Changes in release 0.0n: 1318 1319 * Incremental database propagation. 1320 * Somewhat improved kadmin ui; the stuff in admin is now removed. 1321 * Some support for using enctypes instead of keytypes. 1322 * Lots of other improvement and bug fixes, see ChangeLog for details. 1323