FreeBSD Errata Notices
2014-Oct-22 21:07 UTC
[FreeBSD-Announce] FreeBSD Errata Notice FreeBSD-EN-14:11.crypt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
============================================================================FreeBSD-EN-14:11.crypt
Errata Notice
The FreeBSD Project
Topic: crypt(3) default hashing algorithm
Category: core
Module: libcrypt
Announced: 2014-10-22
Affects: FreeBSD 9.3 and FreeBSD 10.0-STABLE after 2014-05-11 and
before 2014-10-16.
Corrected: 2014-10-13 15:56:47 UTC (stable/10, 10.1-PRERELEASE)
2014-10-16 21:39:04 UTC (releng/10.1, 10.1-RC3)
2014-10-16 21:39:04 UTC (releng/10.1, 10.1-RC2-p2)
2014-10-16 21:39:04 UTC (releng/10.1, 10.1-RC1-p2)
2014-10-16 21:39:04 UTC (releng/10.1, 10.1-BETA3-p2)
2014-10-21 21:09:54 UTC (stable/9, 9.3-STABLE)
2014-10-21 23:50:46 UTC (releng/9.3, 9.3-RELEASE-p4)
For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit
<URL:http://security.freebsd.org/>.
I. Background
The crypt(3) function performs password hashing. Different algorithms
of varying strength are available, with older, weaker algorithms being
retained for compatibility.
The crypt(3) function was originally based on the DES encryption
algorithm and generated a 13-character hash from an eight-character
password (longer passwords were truncated) and a two-character salt.
II. Problem Description
In recent FreeBSD releases, the default algorithm for crypt(3) was
changed to SHA-512, which generates a much longer hash than the
traditional DES-based algorithm.
III. Impact
Many applications assume that crypt(3) always returns a traditional DES
hash, and blindly copy it into a short buffer without bounds checks. This
may lead to a variety of undesirable results including, at worst, crashing
the application.
IV. Workaround
No workaround is available.
V. Solution
Perform one of the following:
1) Upgrade your system to a supported FreeBSD stable or release / security
branch (releng) dated after the correction date.
2) To update your present system via a source code patch:
The following patches have been verified to apply to the applicable
FreeBSD release branches.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/EN-14:11/crypt.patch
# fetch http://security.FreeBSD.org/patches/EN-14:11/crypt.patch.asc
# gpg --verify crypt.patch.asc
b) Apply the patch. Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
c) Recompile the operating system using buildworld and installworld as
described in <URL:http://www.FreeBSD.org/handbook/makeworld.html>.
Restart all deamons using the library, or reboot the system.
3) To update your system via a binary patch:
Systems running a RELEASE version of FreeBSD on the i386 or amd64
platforms can be updated via the freebsd-update(8) utility:
# freebsd-update fetch
# freebsd-update install
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch/path Revision
- -------------------------------------------------------------------------
stable/9/ r273425
releng/9.3/ r273438
stable/10/ r273043
releng/10.1/ r273187
- -------------------------------------------------------------------------
To see which files were modified by a particular revision, run the
following command, replacing NNNNNN with the revision number, on a
machine with Subversion installed:
# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
Or visit the following URL, replacing NNNNNN with the revision number:
<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
VII. References
The latest revision of this Errata Notice is available at
http://security.FreeBSD.org/advisories/FreeBSD-EN-14:11.crypt.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0
iQIcBAEBCgAGBQJUSAvTAAoJEO1n7NZdz2rnOnsP/0a4Cz7DAc9aW7Ia1aLnGBbZ
HDBF7t+LjVj94PnXxhUWWxGgN5KAsYg1TaXw2b68KyrQYQK/X9mG6Qlu8MWjngaL
fH3bKPV+h2Fog8Y7nEW0QmW5sd863Uo5NxNyDcXU0m4frk7yo+i6yBHlBq07eWGv
6fqDjLiP8+kLLCkDtu+s4e9NfJcc8XMRxCzEseLVorDU/5eZWUx5Mb5NkJWt6vLf
jrPclEEVZrrfsf5zt6MN6ZmwYi85RcW/TwksCT5UzYQeoZlr3BtTsFMqEs8ZYulJ
1kUcml4yV8IstaWm1bq8QMM76zfUHe/OzLbwTcynZofBPSWS4DF1f+GpzHW7z11w
/bNGLFWdXm+mbLjv6GCi/rpplIuTUgdTCUr0yC9iyox9e1a1Ukl6B63PA/nnwzas
OFAKZppMiP8S4/RtyueeBJx+ZASNn+ZPTjiiiV92VxYzIreLYDbClzMFjVqd95Wc
Yt1AYvfeRAPmTLNEGhGbgOKZBX6ZdCZDqQIctvnT/LjmJQ3evSxz+wVge1UnYMit
do71bHIWLrRPZlyyh/bNHT2pXxj2Sdw49rbiJqE7VeJnbo1qlAv5jjxaKF8rs+WZ
hFINgZaoVQ2HdHXgj/dvnKi/D7QrfVBomyRMrYq8YmoniRhu1uqbT2LN8QjMhOnA
MfV6XkrYkUgh3Z74uRyu
=psMc
-----END PGP SIGNATURE-----
Jim Pirzyk
2014-Oct-24 11:14 UTC
[FreeBSD-Announce] FreeBSD Errata Notice FreeBSD-EN-14:11.crypt
Hi, I was wondering if there is more information about this change? FreeBSD changed the default away from DES to MD5 back in the 1.1.5 -> 2.0 transition. It seems to me a downgrade and rewarding bad programming to be changing back to DES now. Also the proper course of action is to correct programs that make the wrong assumption about what crypt() changes. Thanks - JimP On Oct 22, 2014, at 4:07 PM, FreeBSD Errata Notices <errata-notices at freebsd.org> wrote:> Signed PGP part > ============================================================================> FreeBSD-EN-14:11.crypt Errata Notice > The FreeBSD Project > > Topic: crypt(3) default hashing algorithm > > Category: core > Module: libcrypt > Announced: 2014-10-22 > Affects: FreeBSD 9.3 and FreeBSD 10.0-STABLE after 2014-05-11 and > before 2014-10-16. > Corrected: 2014-10-13 15:56:47 UTC (stable/10, 10.1-PRERELEASE) > 2014-10-16 21:39:04 UTC (releng/10.1, 10.1-RC3) > 2014-10-16 21:39:04 UTC (releng/10.1, 10.1-RC2-p2) > 2014-10-16 21:39:04 UTC (releng/10.1, 10.1-RC1-p2) > 2014-10-16 21:39:04 UTC (releng/10.1, 10.1-BETA3-p2) > 2014-10-21 21:09:54 UTC (stable/9, 9.3-STABLE) > 2014-10-21 23:50:46 UTC (releng/9.3, 9.3-RELEASE-p4) > > For general information regarding FreeBSD Errata Notices and Security > Advisories, including descriptions of the fields above, security > branches, and the following sections, please visit > <URL:http://security.freebsd.org/>. > > I. Background > > The crypt(3) function performs password hashing. Different algorithms > of varying strength are available, with older, weaker algorithms being > retained for compatibility. > > The crypt(3) function was originally based on the DES encryption > algorithm and generated a 13-character hash from an eight-character > password (longer passwords were truncated) and a two-character salt. > > II. Problem Description > > In recent FreeBSD releases, the default algorithm for crypt(3) was > changed to SHA-512, which generates a much longer hash than the > traditional DES-based algorithm. > > III. Impact > > Many applications assume that crypt(3) always returns a traditional DES > hash, and blindly copy it into a short buffer without bounds checks. This > may lead to a variety of undesirable results including, at worst, crashing > the application. > > IV. Workaround > > No workaround is available. > > V. Solution > > Perform one of the following: > > 1) Upgrade your system to a supported FreeBSD stable or release / security > branch (releng) dated after the correction date. > > 2) To update your present system via a source code patch: > > The following patches have been verified to apply to the applicable > FreeBSD release branches. > > a) Download the relevant patch from the location below, and verify the > detached PGP signature using your PGP utility. > > # fetch http://security.FreeBSD.org/patches/EN-14:11/crypt.patch > # fetch http://security.FreeBSD.org/patches/EN-14:11/crypt.patch.asc > # gpg --verify crypt.patch.asc > > b) Apply the patch. Execute the following commands as root: > > # cd /usr/src > # patch < /path/to/patch > > c) Recompile the operating system using buildworld and installworld as > described in <URL:http://www.FreeBSD.org/handbook/makeworld.html>. > > Restart all deamons using the library, or reboot the system. > > 3) To update your system via a binary patch: > > Systems running a RELEASE version of FreeBSD on the i386 or amd64 > platforms can be updated via the freebsd-update(8) utility: > > # freebsd-update fetch > # freebsd-update install > > VI. Correction details > > The following list contains the revision numbers of each file that was > corrected in FreeBSD. > > Branch/path Revision > ------------------------------------------------------------------------- > stable/9/ r273425 > releng/9.3/ r273438 > stable/10/ r273043 > releng/10.1/ r273187 > ------------------------------------------------------------------------- > > To see which files were modified by a particular revision, run the > following command, replacing NNNNNN with the revision number, on a > machine with Subversion installed: > > # svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base > > Or visit the following URL, replacing NNNNNN with the revision number: > > <URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN> > > VII. References > > The latest revision of this Errata Notice is available at > http://security.FreeBSD.org/advisories/FreeBSD-EN-14:11.crypt.asc > > _______________________________________________ > freebsd-announce at freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-announce > To unsubscribe, send any mail to "freebsd-announce-unsubscribe at freebsd.org"--- @(#) $Id: dot.signature,v 1.15 2007/12/27 15:06:13 pirzyk Exp $ __o jim at pirzyk.org -------------------------------------------------- _'\<,_ (*)/ (*) I'd rather be out biking. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 227 bytes Desc: Message signed with OpenPGP using GPGMail URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20141024/ff4c71fb/attachment.sig>