summaryrefslogtreecommitdiff
path: root/security/heimdal
AgeCommit message (Collapse)AuthorFilesLines
2022-11-23massive revision bump after textproc/icu updateadam2-3/+4
2022-11-22heimdal: updated to 7.8adam8-87/+28
Heimdal 7.8 Latest This release includes both the Heimdal 7.7.1 Security Vulnerability fixes and non-Security bug fixes/improvements. Security Vulnerabilities: CVE-2022-42898 PAC parse integer overflows CVE-2022-3437 Overflows and non-constant time leaks in DES{,3} and arcfour CVE-2022-41916 Fix Unicode normalization read of 1 bytes past end of array CVE-2021-44758 A null pointer de-reference DoS in SPNEGO acceptors CVE-2021-3671 A null pointer de-reference when handling missing sname in TGS-REQ 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 DB Other changes: Bugs found by UBSAN (including the incorrect encoding of unconstrained INTEGER value -1). Errors found by the LLVM scan-build static analyzer. Errors found by the valgrind memory debugger. Work around GCC Bug 95189 (memcmp wrongly stripped like strcmp). Correct ASN.1 OID typo for SHA-384 Fix a deadlock in in the MEMORY ccache type. TGS: strip forwardable and proxiable flags if the server is disallowed. 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 DB Incremental HDB propagation improvements Refactor send_diffs making it progressive Handle partial writes on non-blocking sockets Disable Nagle in iprop master and slave Use async I/O Don't send I_HAVE in response to AYT Do not recover log in kadm5_get_principal() Don't send diffs to slaves with not yet known version Don't stutter in send_diffs Optional backwards-compatible anon-pkinit behavior
2022-06-28*: recursive bump for perl 5.36wiz2-4/+4
2022-04-18revbump for textproc/icu updateadam2-4/+4
2022-01-27heimdal: correct build fix patchgutteridge2-12/+13
The previous version of this patch added build dependencies at the wrong point: we need the headers generated by the time the object is compiled, not by the time the final binary is linked. (This matches the actual upstream change set.)
2021-12-08revbump for icu and libffiadam2-4/+4
2021-11-17heimdal: Fix CVE-2021-3671wiz3-3/+25
Patch from samba Bump PKGREVISION.
2021-11-05heimdal: add upstream bug report linkwiz2-3/+4
2021-11-04heimdal: fix build race conditionadam2-1/+16
2021-10-26security: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes Unfetchable distfiles (fetched conditionally?): ./security/cyrus-sasl/distinfo cyrus-sasl-dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d.patch.v2
2021-10-22heimdal: fix su -> ksu name change with kerberos-prefix-cmds optionwiz2-9/+6
Bump PKGREVISION, since it's on by default.
2021-10-21heimdal: fix fetch stagewiz1-2/+2
2021-10-21heimdal: remove hcrypto PLIST_VARwiz2-31/+30
It was always set to yes.
2021-10-21heimdal: update to 7.7.0.wiz24-840/+111
This version supports openssl 1.1, so re-enable it. Release Notes - Heimdal - Version Heimdal 7.7 Bug fixes - PKCS#11 hcrypto back-end . initialize the p11_module_load function list . verify that not only is a mechanism present but that its mechanism info states that it offers the required encryption, decryption or digest services - krb5: . Starting with 7.6, Heimdal permitted requesting authenticated anonymous tickets. However, it did not verify that a KDC in fact returned an anonymous ticket when one was requested. - Cease setting the KDCOption reaquest_anonymous flag when issuing S4UProxy (constrained delegation) TGS requests. . when the Win2K PKINIT compatibility option is set, do not require krbtgt otherName to match when validating KDC certificate. . set PKINIT_BTMM flag per Apple implementation . use memset_s() instead of memset() - kdc: . When generating KRB5SignedPath in the AS, use the reply client name rather than the one from the request, so validation will work correctly in the TGS. . allow checksum of PA-FOR-USER to be HMAC_MD5. Even if tgt used an enctype with a different checksum. Per [MS-SFU] 2.2.1 PA-FOR-USER the checksum is always HMAC_MD5, and that's what Windows and MIT clients send. In heimdal both the client and kdc use instead the checksum of the tgt, and therefore work with each other but Windows and MIT clients fail against heimdal KDC. Both Windows and MIT KDCs would allow any keyed checksum to be used so Heimdal client interoperates with them. Change Heimdal KDC to allow HMAC_MD5 even for non RC4 based tgt in order to support per-spec clients. . use memset_s() instead of memset(). - Detect Heimdal 1.0 through 7.6 clients that issue S4UProxy (constrained delegation) TGS Requests with the request anonymous flag set. These requests will be treated as S4UProxy requests and not anonymous requests. - HDB: . Set SQLite3 backend default page size to 8KB. . Add hdb_set_sync() method - kadmind: . disable HDB sync during database load avoiding unnecessary disk i/o. - ipropd: . disable HDB sync during receive_everything. Doing an fsync per-record when receiving the complete HDB is a performance disaster. Among other things, if the HDB is very large, then one slave receving a full HDB can cause other slaves to timeout and, if HDB write activity is high enough to cause iprop log truncation, then also need full syncs, which leads to a cycle of full syncs for all slaves until HDB write activity drops. Allowing the iprop log to be larger helps, but improving receive_everything() performance helps even more. - kinit: . Anonymous PKINIT tickets discard the realm information used to locate the issuing AS. Store the issuing realm in the credentials cache in order to locate a KDC which can renew them. . Do not leak the result of krb5_cc_get_config() when determining anonymous PKINIT start realm. - klist: . Show transited-policy-checked, ok-as-delegate and anonymous flags when listing credentials. - tests: . Regenerate certs so that they expire before the 2038 armageddon so the test suite will pass on 32-bit operating systems until the underlying issues can be resolved. - Solaris: . Define _STDC_C11_BCI for memset_s prototype - build tooling: . Convert from python 2 to python 3 - documentation . rename verify-password to verify-password-quality . hprop default mode is encrypt . kadmind "all" permission does not include "get-keys" . verify-password-quality might not be stateless Release Notes - Heimdal - Version Heimdal 7.6 Security - CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum When the Heimdal KDC checks the checksum that is placed on the S4U2Self packet by the server to protect the requested principal against modification, it does not confirm that the checksum algorithm that protects the user name (principal) in the request is keyed. This allows a man-in-the-middle attacker who can intercept the request to the KDC to modify the packet by replacing the user name (principal) in the request with any desired user name (principal) that exists in the KDC and replace the checksum protecting that name with a CRC32 checksum (which requires no prior knowledge to compute). This would allow a S4U2Self ticket requested on behalf of user name (principal) user@EXAMPLE.COM to any service to be changed to a S4U2Self ticket with a user name (principal) of Administrator@EXAMPLE.COM. This ticket would then contain the PAC of the modified user name (principal). - CVE-2019-12098, client-only: RFC8062 Section 7 requires verification of the PA-PKINIT-KX key excahnge when anonymous PKINIT is used. Failure to do so can permit an active attacker to become a man-in-the-middle. Bug fixes - Happy eyeballs: Don't wait for responses from known-unreachable KDCs. - kdc: check return copy_Realm, copy_PrincipalName, copy_EncryptionKey - kinit: . cleanup temporary ccaches . see man page for "kinit --anonymous" command line syntax change - kdc: Make anonymous AS-requests more RFC8062-compliant. - Updated expired test certificates - Solaris: . PKCS#11 hcrypto backend broken since 7.0.1 . Building with Sun Pro C Features - kuser: support authenticated anonymous AS-REQs in kinit - kdc: support for anonymous TGS-REQs - kgetcred support for anonymous service tickets - Support builds with OpenSSL 1.1.1 Release Notes - Heimdal - Version Heimdal 7.5 Security - Fix CVE-2017-17439, which is a remote denial of service vulnerability: In Heimdal 7.1 through 7.4, remote unauthenticated attackers are able to crash the KDC by sending a crafted UDP packet containing empty data fields for client name or realm. Bug fixes - Handle long input lines when reloading database dumps. - In pre-forked mode (default on Unix), correctly clear the process ids of exited children, allowing new child processes to replace the old. - Fixed incorrect KDC response when no-cross realm TGT exists, allowing client requests to fail quickly rather than time out after trying to get a correct answer from each KDC. Release Notes - Heimdal - Version Heimdal 7.4 Security - Fix CVE-2017-11103: Orpheus' Lyre KDC-REP service name validation This is a critical vulnerability. In _krb5_extract_ticket() the KDC-REP service name must be obtained from encrypted version stored in 'enc_part' instead of the unencrypted version stored in 'ticket'. Use of the unecrypted version provides an opportunity for successful server impersonation and other attacks. Identified by Jeffrey Altman, Viktor Duchovni and Nico Williams. See https://www.orpheus-lyre.info/ for more details. Release Notes - Heimdal - Version Heimdal 7.3 Security - Fix transit path validation. Commit f469fc6 (2010-10-02) inadvertently caused the previous hop realm to not be added to the transit path of issued tickets. This may, in some cases, enable bypass of capath policy in Heimdal versions 1.5 through 7.2. Note, this may break sites that rely on the bug. With the bug some incomplete [capaths] worked, that should not have. These may now break authentication in some cross-realm configurations. (CVE-2017-6594) Release Notes - Heimdal - Version Heimdal 7.2 Bug fixes - Portability improvements - More strict parsing of encoded URI components in HTTP KDC - Fixed memory leak in malloc error recovery in NTLM GSSAPI mechanism - Avoid overly specific CPU info in krb5-config in aid of reproducible builds - Don't do AFS string-to-key tests when feature is disabled - Skip mdb_stat test when the command is not available - Windows: update SHA2 timestamp server - hdb: add missing export hdb_generate_key_set_password_with_ks_tuple - Fix signature of hdb_generate_key_set_password() - Windows: enable KX509 support in the KDC - kdc: fix kx509 service principal match - iprop: handle case where master sends nothing new - ipropd-slave: fix incorrect error codes - Allow choice of sqlite for HDB pref - check-iprop: don't fail to kill daemons - roken: pidfile -> rk_pidfile - kdc: _kdc_do_kx509 fix use after free error - Do not detect x32 as 64-bit platform. - No sys/ttydefaults.h on CYGWIN - Fix check-iprop races - roken_detach_prep() close pipe Release Notes - Heimdal - Version Heimdal 7.1 Security - kx509 realm-chopping security bug - non-authorization of alias additions/removals in kadmind (CVE-2016-2400) Feature - iprop has been revamped to fix a number of race conditions that could lead to inconsistent replication - Hierarchical capath support - AES Encryption with HMAC-SHA2 for Kerberos 5 draft-ietf-kitten-aes-cts-hmac-sha2-11 - hcrypto is now thread safe on all platforms - libhcrypto has new backends: CNG (Windows), PKCS#11 (mainly for Solaris), and OpenSSL. OpenSSL is now a first-class libhcrypto backend. OpenSSL 1.0.x and 1.1 are both supported. AES-NI used when supported by backend - HDB now supports LMDB - Thread support on Windows - RFC 6113 Generalized Framework for Kerberos Pre-Authentication (FAST) - New GSS APIs: . gss_localname - Allow setting what encryption types a principal should have with [kadmin] default_key_rules, see krb5.conf manpage for more info - Unify libhcrypto with LTC (libtomcrypto) - asn1_compile 64-bit INTEGER functionality - HDB key history support including --keepold kadmin password option - Improved cross-realm key rollover safety - New krb5_kuserok() and krb5_aname_to_localname() plug-in interfaces - Improved MIT compatibility . kadm5 API . Migration from MIT KDB via "mitdb" HDB backend . Capable of writing the HDB in MIT dump format - Improved Active Directory interoperability . Enctype selection issues for PAC and other authz-data signatures . Cross realm key rollover (kvno 0) - New [kdc] enctype negotiation configuration: . tgt-use-strongest-session-key . svc-use-strongest-session-key . preauth-use-strongest-session-key . use-strongest-server-key - The KDC process now uses a multi-process model improving resiliency and performance - Allow batch-mode kinit with password file - SIGINFO support added to kinit cmd - New kx509 configuration options: . kx509_ca . kca_service . kx509_include_pkinit_san . kx509_template - Improved Heimdal library/plugin version safety - Name canonicalization . DNS resolver searchlist . Improved referral support . Support host:port host-based services - Pluggable libheimbase interface for DBs - Improve IPv6 Support - LDAP . Bind DN and password . Start TLS - klist --json - DIR credential cache type - Updated upstream SQLite and libedit - Removed legacy applications: ftp, kx, login, popper, push, rcp, rsh, telnet, xnlock - Completely remove RAND_egd support - Moved kadmin and ktutil to /usr/bin - Stricter fcache checks (see fcache_strict_checking krb5.conf setting) . use O_NOFOLLOW . don't follow symlinks . require cache files to be owned by the user . require sensible permissions (not group/other readable) - Implemented gss_store_cred() - Many more Bug fixes - iprop has been revamped to fix a number of race conditions that could lead to data loss - Include non-loopback addresses assigned to loopback interfaces when requesting tickets with addresses - KDC 1DES session key selection (for AFS rxkad-k5 compatibility) - Keytab file descriptor and lock leak - Credential cache corruption bugs (NOTE: The FILE ccache is still not entirely safe due to the fundamentally unsafe design of POSIX file locking) - gss_pseudo_random() interop bug - Plugins are now preferentially loaded from the run-time install tree - Reauthentication after password change in init_creds_password - Memory leak in the client kadmin library - TGS client requests renewable/forwardable/proxiable when possible - Locking issues in DB1 and DB3 HDB backends - Master HDB can remain locked while waiting for network I/O - Renewal/refresh logic when kinit is provided with a command - KDC handling of enterprise principals - Use correct bit for anon-pkinit - Many more
2021-10-07security: Remove SHA1 hashes for distfilesnia1-2/+1
2021-05-09security/heimdal: provide krb5-gssapi.pc as symlinkthor2-3/+7
This is needed for example for qt5-qtbase to pick up a pkgsrc-installed heimdal instead of possibly a mix of system mit-krb5 libs with pkgsrc headers, for its network auth that recently got GSSAPI. It makes sense to provide the same pkg-config package name if heimdal and mit-krb5 should be transparently compatible at that front.
2021-04-21revbump for textproc/icuadam2-4/+4
2020-11-05*: Recursive revbump from textproc/icu-68.1ryoon2-4/+4
2020-07-26heimdal: Update MASTER_SITES.bsiegert1-2/+4
The original master site is gone. The new one redirects to Github but for the ancient release we package (1.5.3, newest is 7.x), it does not have the distfile. Update NetBSD/pkgsrc#68
2020-06-02Revbump for icuadam2-4/+4
2020-04-12Recursive revision bump after textproc/icu updateadam2-4/+4
2020-03-21heimdal: fix runpath setting in krb5-configmarkd3-3/+19
2020-03-18security/heimdal: Prefix kerberos commands by defaultgdt2-4/+4
It has long been an issue that heimdal installs "su" which shadows system su and behaves differently. Now, with openssl 1.1, many people are getting heimdal installed that did not expect it or ask for it. (Really, heimdal should be split into libraries and apps, so that programs can have kerberos support without adding commands to the user's namespace, but this is vastly easier.) (In response to on-list complaints, and believing this will not be contoversial.)
2020-02-20security/heimdal: add back MAKE_JOBS_SAFE=norillig1-2/+9
2020-02-13security/heimdal: remove MAKE_JOBS_SAFE=norillig1-3/+1
Heimdal built fine on NetBSD-8.0-x86_64 with MAKE_JOBS=7.
2020-02-13security/heimdal: disable check for unknown GNU configure optionsrillig1-1/+2
Heimdal has bundled libreadline, which has its own configure file with completely different options.
2020-01-18*: Recursive revision bump for openssl 1.1.1.jperkin2-4/+4
2019-11-04security: align variable assignmentsrillig2-15/+15
pkglint -Wall -F --only aligned --only indent -r No manual corrections.
2019-10-21heimdal: fix build on OpenSSL 1.1 systems by disabling OpenSSL.wiz2-20/+6
heimdal includes a copy of the relevant functions itself. Add a comment that the dependency should be re-enabled when updating this package. Bump PKGREVISION.
2019-09-12security/heimdal: replace deprecated _PKG_SILENT and _PKG_DEBUGrillig1-2/+2
2019-04-03Recursive revbump from textproc/icuryoon2-4/+4
2019-02-06heimdal: fix Linux PLIST.hcrypto issue in a more generic waytnn1-17/+15
Tested under Debian unstable. PR pkg/53806
2019-01-06heimdal: Fix compilation under WSLbsiegert1-2/+8
This sets the "hcrypto" PLIST variable correct when pkgsrc is used under WSL (Windows Services for Linux). From David Weller-Fahy via PR pkg/53806.
2018-12-09revbump after updating textproc/icuadam2-4/+4
2018-11-27Support Minix.sevan4-29/+208
2018-07-20Recursive revbump from textproc/icu-62.1ryoon2-4/+4
2018-04-14revbump after icu updateadam2-4/+4
2017-11-30Revbump after textproc/icu updateadam2-4/+4
2017-09-18revbump for requiring ICU 59.xmaya2-4/+4
2017-04-22Revbump after icu updateadam2-4/+4
2016-12-04Recursive revbump from textproc/icu 58.1ryoon2-4/+4
2016-06-02Explicitly disable extended glob(3C) support on SunOS, despite itjperkin1-1/+5
being available on newer illumos, as it simplifies PLIST.glob.
2016-04-11Recursive revbump from textproc/icu 57.1ryoon2-4/+4
2016-03-09fix build on Linuxtnn1-1/+3
2016-03-05Bump PKGREVISION for security/openssl ABI bump.jperkin2-4/+4
2016-02-25Remove manual OPSYSVARS additions which are now part of the default set.jperkin1-2/+1
2015-11-04Add SHA512 digests for distfiles for security categoryagc1-1/+2
Problems found locating distfiles: Package f-prot-antivirus6-fs-bin: missing distfile fp-NetBSD.x86.32-fs-6.2.3.tar.gz Package f-prot-antivirus6-ws-bin: missing distfile fp-NetBSD.x86.32-ws-6.2.3.tar.gz Package libidea: missing distfile libidea-0.8.2b.tar.gz Package openssh: missing distfile openssh-7.1p1-hpn-20150822.diff.bz2 Package uvscan: missing distfile vlp4510e.tar.Z Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
2015-10-10Recursive revbump from textproc/icuryoon1-2/+2
2015-09-17Don't trigger unnecessary rebuilds.joerg3-7/+7
2015-07-11Apply patch from FreeBSD ports to patch-configure. This will allow therodent13-48/+125
package to build and install lib/windc.la, which is the cause of the installation failure. This is evident when PREFER_PKGSRC=yes. Defuzz patches.