Fix OpenSSL NULL pointer deference vulnerability. [SA-14:09] Add pkg bootstrapping, configuration and public keys. [EN-14:03] Improve build repeatability for kldxref(8). [EN-14:04] Fix data corruption with ciss(4). [EN-14:05]
180 lines
6.9 KiB
Text
180 lines
6.9 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA512
|
|
|
|
=============================================================================
|
|
FreeBSD-EN-14:03.pkg Errata Notice
|
|
The FreeBSD Project
|
|
|
|
Topic: pkg bootstrapping, configuration and public keys
|
|
|
|
Category: core, packages
|
|
Module: pkg
|
|
Announced: 2014-05-13
|
|
Credits: Baptiste Daroussin, Bryan Drewery
|
|
Affects: All versions of FreeBSD prior to 10.0-RELEASE
|
|
Corrected: 2014-04-15 23:40:47 UTC (stable/8, 8.4-STABLE)
|
|
2014-05-13 23:24:32 UTC (releng/8.4, 8.4-RELEASE-p10)
|
|
2014-03-11 14:48:44 UTC (stable/9, 9.2-STABLE)
|
|
2014-05-13 23:24:14 UTC (releng/9.2, 9.2-RELEASE-p6)
|
|
2014-05-13 23:24:14 UTC (releng/9.1, 9.1-RELEASE-p13)
|
|
|
|
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 pkg(7) utility is the new package management tool for FreeBSD. The
|
|
FreeBSD project has provided official pkg(7) packages since October 2013
|
|
and signed packages since the pkg-1.2 release in November 2013. The
|
|
signature checking requires known public keys to be installed locally.
|
|
The repository configuration must be installed as well.
|
|
|
|
The base system also includes a pkg(7) bootstrap tool that installs the
|
|
latest real pkg(7) package. The bootstrap tool knows where to find the
|
|
official pkg(7) package but once that is installed the real pkg(7) will
|
|
not know where to find official packages, nor have the known public key
|
|
for signature checking.
|
|
|
|
The bootstrap tool was also improved in 10.0-RELEASE to check the
|
|
signature on the pkg(7) package it is installing.
|
|
|
|
II. Problem Description
|
|
|
|
Only FreeBSD 10.0 has been released with the official repository
|
|
configuration, known public keys, and a bootstrap tool that checks the
|
|
signature of the pkg(7) package it is installing.
|
|
|
|
To allow packages to be used on a system, the configuration must be
|
|
manually setup and keys securely fetched and installed to the proper
|
|
location.
|
|
|
|
III. Impact
|
|
|
|
Releases before 10.0 require manual configuration. Manually configuring the
|
|
pkg(7) signatures could result in insecurely installing the keys or leaving
|
|
the signature checking disabled.
|
|
|
|
The bootstrap tool is not secure on releases prior to 10.0 due to not checking
|
|
the signature and could result in having an unofficial pkg(7) installed due to
|
|
MITM attacks.
|
|
|
|
IV. Workaround
|
|
|
|
To securely install pkg(7) on releases prior to 10.0, install it from ports
|
|
obtained from a secure portsnap checkout:
|
|
|
|
# portsnap fetch extract
|
|
# echo "WITH_PKGNG=yes" >> /etc/make.conf
|
|
# make -C /usr/ports/ports-mgmt/pkg install clean
|
|
|
|
If this is an existing system it may be converted to pkg(7) as well by running:
|
|
|
|
# pkg2ng
|
|
|
|
After this is done /usr/ports may be removed if no longer required.
|
|
|
|
To workaround the configuration and keys being missed, apply the solution in
|
|
this Errata.
|
|
|
|
V. Solution
|
|
|
|
No solution is provided for pkg(7) bootstrap signature checking on releases prior
|
|
to 10.0. Upgrading to 10.0 or stable/9 after r263038 will suffice.
|
|
|
|
To install the configuration and public key in a secure means, 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.
|
|
|
|
[FreeBSD 9.2]
|
|
# fetch http://security.FreeBSD.org/patches/EN-14:03/pkg-en-releng-9.2.patch
|
|
# fetch http://security.FreeBSD.org/patches/EN-14:10/pkg-en-releng-9.2.patch.asc
|
|
# gpg --verify pkg-en-releng-9.2.patch.asc
|
|
|
|
[FreeBSD 9.1]
|
|
# fetch http://security.FreeBSD.org/patches/EN-14:03/pkg-en-releng-9.1.patch
|
|
# fetch http://security.FreeBSD.org/patches/EN-14:10/pkg-en-releng-9.1.patch.asc
|
|
# gpg --verify pkg-en-releng-9.1.patch.asc
|
|
|
|
[FreeBSD 8.4]
|
|
# fetch http://security.FreeBSD.org/patches/EN-14:03/pkg-en-releng-8.4.patch
|
|
# fetch http://security.FreeBSD.org/patches/EN-14:03/pkg-en-releng-8.4.patch.asc
|
|
# gpg --verify pkg-en-releng-8.4.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/etc/pkg
|
|
# mkdir -p /etc/pkg /usr/share/keys/pkg/trusted /usr/share/keys/pkg/revoked
|
|
# make install
|
|
# cd /usr/src/share/keys/pkg
|
|
# make install
|
|
|
|
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/8/ r264519
|
|
releng/8.4/ r265989
|
|
stable/9/ r263937 (*)
|
|
releng/9.1/ r265988
|
|
releng/9.2/ r265988
|
|
- -------------------------------------------------------------------------
|
|
|
|
(*) The actual required changeset consists a series of changes, including
|
|
r263023,r258550,r263050,r263053 and r263937.
|
|
|
|
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:03.pkg.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v2.0.22 (FreeBSD)
|
|
|
|
iQIcBAEBCgAGBQJTcq5IAAoJEO1n7NZdz2rnPgsP/i1EV9g4qXg9v6HvakiFFKrv
|
|
51810uJe/Eo9iujDT1TpwuYJuFQPzkW+h4JRvapaSLAMxeLsYqxj8WDuKz0eU6sW
|
|
WjaPv6LZWUG91jHbFr3uEAgLLvkc86kMI/hfSmzq5FY7gsisEKoyfdraR2E63jtp
|
|
BFARxAq9hnddck5zZiX7wCOMtvCVrvrSsozft1p885AUra+Tg9F1RuUloS0CYddD
|
|
FtUb1dPMshkHlqHqC1wGzRfBVFgX7NnXfnxIi2St1ft0tEDKIL+HQgnjU2CwKbK7
|
|
S9ioLYbbUhyo6edpS/4+y5gJ1kVLvlelY4myBHUkSOMJrsxoIBCTuXjdnO9PL5gr
|
|
qpS9R6TQEMF5auEG5aIOwfu5t8wqczAfC4zVzbm4UPakRYPFS0NfvkDGW2Gno7Yh
|
|
iOur/JFLUOqbV9i8UwssS8OzG0cr8EzbZ3iLkVPqt1Cxuxxpx8+NYiYV3F0PMxB8
|
|
iImoOD1BY0lS3x0gqgeZb5ssBk988aVq1cmbrUuriHuKLK/uvSaFHlGXprQyQmTn
|
|
4FEFmMNTCSMbYy3J2daEajUroiZVcBEjORPFR8QYtncRgbzB6u/AjVIo+3Uk/0hj
|
|
paC8dvBikmT7ity3b7YoOvJIJn62XVqrq9srkYowkDuLJ1E8zQqmR2eZUOmf5vG1
|
|
u3zAXa3xup1ginA9Wi6O
|
|
=UI84
|
|
-----END PGP SIGNATURE-----
|