heimdal: Fix multiple security vulnerabilitiesThe following issues are patched: - CVE-2022-42898 PAC parse integer overflows - CVE-2022-3437 Overflows and non-constant time leaks in DES{,3} and
heimdal: Fix multiple security vulnerabilitiesThe following issues are patched: - CVE-2022-42898 PAC parse integer overflows - CVE-2022-3437 Overflows and non-constant time leaks in DES{,3} and arcfour - CVE-2021-44758 NULL dereference DoS in SPNEGO acceptors - CVE-2022-44640 Heimdal KDC: invalid free in ASN.1 codec Note that CVE-2022-44640 is a severe vulnerability, possibly a 10.0 on the Common Vulnerability Scoring System (CVSS) v3, as we believe it should be possible to get an RCE on a KDC, which means that credentials can be compromised that can be used to impersonate anyone in a realm or forest of realms. Heimdal's ASN.1 compiler generates code that allows specially crafted DER encodings of CHOICEs to invoke the wrong free function on the decoded structure upon decode error. This is known to impact the Heimdal KDC, leading to an invalid free() of an address partly or wholly under the control of the attacker, in turn leading to a potential remote code execution (RCE) vulnerability. This error affects the DER codec for all extensible CHOICE types used in Heimdal, though not all cases will be exploitable. We have not completed a thorough analysis of all the Heimdal components affected, thus the Kerberos client, the X.509 library, and other parts, may be affected as well. This bug has been in Heimdal's ASN.1 compiler since 2005, but it may only affect Heimdal 1.6 and up. It was first reported by Douglas Bagnall, though it had been found independently by the Heimdal maintainers via fuzzing a few weeks earlier. While no zero-day exploit is known, such an exploit will likely be available soon after public disclosure. - CVE-2019-14870: Validate client attributes in protocol-transition - CVE-2019-14870: Apply forwardable policy in protocol-transition - CVE-2019-14870: Always lookup impersonate client in DBSponsored by: so (philip)Obtained from: so (philip)Tested by: philip, cy(cherry picked from commit ed549cb0c53f8438c52593ce811f6fcc812248e9)(cherry picked from commit d0b6550173d25689ee820c1e0a0aea36f6806098)Approved by: soSecurity: FreeBSD-SA-22:14.heimdal
show more ...
Update the existing heimdal implementation for OpenSSL 1.1.Existing work is underway to import a newer version of heimdal, butthis patchset gets us to a fully working tree to enable more widespre
Update the existing heimdal implementation for OpenSSL 1.1.Existing work is underway to import a newer version of heimdal, butthis patchset gets us to a fully working tree to enable more widespread testing of OpenSSL 1.1 for now.I've also enabled WARNS=1 for kerberos (which is the reason for thechange in libroken). Having -Werror enabled was useful during the1.1 updates and we probably should have warnings enabled by defaultfor kerberos anyway.This passes make tinderbox, and I have also done some very lightruntime testing on amd64.Reviewed by: bjk, jkim, emasteDifferential Revision: https://reviews.freebsd.org/D17276
Apply patch from upstream Heimdal for encoding fixRFC 4402 specifies the implementation of the gss_pseudo_random()function for the krb5 mechanism (and the C bindings therein).The implementation u
Apply patch from upstream Heimdal for encoding fixRFC 4402 specifies the implementation of the gss_pseudo_random()function for the krb5 mechanism (and the C bindings therein).The implementation uses a PRF+ function that concatenates the outputof individual krb5 pseudo-random operations produced with a counterand seed. The original implementation of this function in Heimdalincorrectly encoded the counter as a little-endian integer, but theRFC specifies the counter encoding as big-endian. The implementationinitializes the counter to zero, so the first block of output (16 octets,for the modern AES enctypes 17 and 18) is unchanged. (RFC 4402 specifiesthat the counter should begin at 1, but both existing implementationsbegin with zero and it looks like the standard will be re-issued, withtest vectors, to begin at zero.)This is upstream's commit f85652af868e64811f2b32b815d4198e7f9017f6,from 13 October, 2013:% Fix krb5's gss_pseudo_random() (n is big-endian)%% The first enctype RFC3961 prf output length's bytes are correct because% the little- and big-endian representations of unsigned zero are the% same. The second block of output was wrong because the counter was not% being encoded as big-endian.%% This change could break applications. But those applications would not% have been interoperating with other implementations anyways (in% particular: MIT's).Approved by: hrs (mentor, src committer)MFC after: 3 days
Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import.Reviewed by: dfr
- Update FreeBSD's Heimdal distribution to 1.5.2. This is a bugfix release, which fixes a DoS issue in libkrb5.
- Update FreeBSD Heimdal distribution to version 1.5.1. This also brings several new kerberos related libraries and applications to FreeBSD: o kgetcred(1) allows one to manually get a ticket for
- Update FreeBSD Heimdal distribution to version 1.5.1. This also brings several new kerberos related libraries and applications to FreeBSD: o kgetcred(1) allows one to manually get a ticket for a particular service. o kf(1) securily forwards ticket to another host through an authenticated and encrypted stream. o kcc(1) is an umbrella program around klist(1), kswitch(1), kgetcred(1) and other user kerberos operations. klist and kswitch are just symlinks to kcc(1) now. o kswitch(1) allows you to easily switch between kerberos credentials if you're running KCM. o hxtool(1) is a certificate management tool to use with PKINIT. o string2key(1) maps a password into key. o kdigest(8) is a userland tool to access the KDC's digest interface. o kimpersonate(8) creates a "fake" ticket for a service. We also now install manpages for some lirbaries that were not installed before, libheimntlm and libhx509.- The new HEIMDAL version no longer supports Kerberos 4. All users are recommended to switch to Kerberos 5.- Weak ciphers are now disabled by default. To enable DES support (used by telnet(8)), use "allow_weak_crypto" option in krb5.conf.- libtelnet, pam_ksu and pam_krb5 are now compiled with error on warnings disabled due to the function they use (krb5_get_err_text(3)) being deprecated. I plan to work on this next.- Heimdal's KDC now require sqlite to operate. We use the bundled version and install it as libheimsqlite. If some other FreeBSD components will require it in the future we can rename it to libbsdsqlite and use for these components as well.- This is not a latest Heimdal version, the new one was released while I was working on the update. I will update it to 1.5.2 soon, as it fixes some important bugs and security issues.
Fix conflicts after heimdal-1.1 import and add build infrastructure. Importall non-style changes made by heimdal to our own libgssapi.
Vendor import of Heimdal 1.1
Fix the amd64 (and presumably ia64) lib32 build by ensuring that theheimdal GSS-API mechanism uses its own version of gssapi.h, including allthe implementation-dependant pollution contained therein
Fix the amd64 (and presumably ia64) lib32 build by ensuring that theheimdal GSS-API mechanism uses its own version of gssapi.h, including allthe implementation-dependant pollution contained therein.This moves the file off the vendor branch, sadly.Submitted by: bz
Vendor import of Heimdal 0.6.3.
Clean up the Heimdal vendor branch by removing files not included inany import for several years.If memory serves, this wasSuggested by: ruan awfully long time ago-- sorry for the delay!
Vendor import of Heimdal 0.6.1.
Vendor import of Heimdal 0.6.
Import of Heimdal 0.5.1.Approved by: re
Import of Heimdal Kerberos from KTH repository circa 2002/09/16.
Import of Heimdal Kerberos from KTH repository circa 2002/08/29.
Import of Heimdal Kerberos from KTH repository circa 2002/02/17.
import of heimdal 0.3f
import of heimdal 0.3e
Vendor import of Heimdal 0.2o
Vendor import of Heimdal 0.2n
Import KTH Heimdal, which will be the core of our Kerberos5.Userland to follow.