patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
161 lines
6.5 KiB
Text
161 lines
6.5 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-EN-12:02.ipv6refcount Errata Notice
|
|
The FreeBSD Project
|
|
|
|
Topic: Reference count errors in IPv6 code
|
|
|
|
Category: core
|
|
Modules: sys_netinet sys_netinet6
|
|
Announced: 2012-06-12
|
|
Credits: Scott Long, Rui Paulo, Maksim Yevmenkin
|
|
Affects: FreeBSD 8.0 and later
|
|
Corrected: 2012-06-09 22:44:49 UTC (RELENG_8, 8.3-STABLE)
|
|
2012-06-12 12:10:10 UTC (RELENG_8_3, 8.3-RELEASE-p3)
|
|
2012-06-12 12:10:10 UTC (RELENG_8_2, 8.2-RELEASE-p9)
|
|
2012-06-12 12:10:10 UTC (RELENG_8_1, 8.1-RELEASE-p11)
|
|
2012-06-09 22:44:24 UTC (RELENG_9, 9.0-STABLE)
|
|
2012-06-12 12:10:10 UTC (RELENG_9_0, 9.0-RELEASE-p3)
|
|
|
|
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 FreeBSD network stack implements Internet Protocol version 6 (IPv6),
|
|
the successor to IPv4. IPv6 is now seeing widespread deployment.
|
|
|
|
Reference counts are a programming technology used by the FreeBSD kernel
|
|
to maintain stability of objects while in use.
|
|
|
|
II. Problem Description
|
|
|
|
The FreeBSD IPv4 and IPv6 kernel implementations employ reference counts to
|
|
protect IP addresses configured on network interfaces. Due to multiple
|
|
bugs, IPv6 address references may be improperly acquired or released; IPv4
|
|
is unaffected.
|
|
|
|
III. Impact
|
|
|
|
Under high IPv6 network load, reference counts may improperly hit zero
|
|
due to overflow or underflow, causing an IPv6 address, which is still in
|
|
use, to be freed. This will lead to a kernel panic on next access.
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available, but systems not using any IPv6 communication
|
|
are not affected.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 8-STABLE, or 9-STABLE, or to the
|
|
RELENG_8_3, RELENG_8_2, RELENG_8_1, or RELENG_9_0 security branch dated
|
|
after the correction date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patches have been verified to apply to FreeBSD 8.3, 8.2,
|
|
8.1, and 9.0 systems.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
[FreeBSD 8.1-RELEASE, 8.2-RELEASE, and 9.0-RELEASE]
|
|
# fetch http://security.FreeBSD.org/patches/EN-12:02/ipv6refcount.patch
|
|
# fetch http://security.FreeBSD.org/patches/EN-12:02/ipv6refcount.patch.asc
|
|
|
|
[FreeBSD 8.3-RELEASE]
|
|
# fetch http://security.FreeBSD.org/patches/EN-12:02/ipv6refcount-83.patch
|
|
# fetch http://security.FreeBSD.org/patches/EN-12:02/ipv6refcount-83.patch.asc
|
|
|
|
b) Apply the patch.
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
|
|
c) Recompile your kernel as described in
|
|
<URL:http://www.freebsd.org/handbook/kernelconfig.html> and reboot the
|
|
system.
|
|
|
|
3) To update your vulnerable system via a binary patch:
|
|
|
|
Systems running 8.3-RELEASE, 8.2-RELEASE, 8.1-RELEASE, or 9.0-RELEASE 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.
|
|
|
|
CVS:
|
|
|
|
Branch Revision
|
|
Path
|
|
- -------------------------------------------------------------------------
|
|
RELENG_8
|
|
sys/netinet/tcp_input.c 1.411.2.22
|
|
sys/netinet6/in6.c 1.121.2.28
|
|
sys/netinet6/ip6_input.c 1.132.2.9
|
|
RELENG_8_3
|
|
src/UPDATING 1.632.2.26.2.5
|
|
src/sys/conf/newvers.sh 1.83.2.15.2.7
|
|
sys/netinet/tcp_input.c 1.411.2.19.2.2
|
|
sys/netinet6/in6.c 1.121.2.23.2.2
|
|
sys/netinet6/ip6_input.c 1.132.2.6.4.2
|
|
RELENG_8_2
|
|
src/UPDATING 1.632.2.19.2.11
|
|
src/sys/conf/newvers.sh 1.83.2.12.2.14
|
|
sys/netinet/tcp_input.c 1.411.2.9.2.2
|
|
sys/netinet6/in6.c 1.121.2.12.2.2
|
|
sys/netinet6/ip6_input.c 1.132.2.6.2.2
|
|
RELENG_8_1
|
|
src/UPDATING 1.632.2.14.2.14
|
|
src/sys/conf/newvers.sh 1.83.2.10.2.15
|
|
sys/netinet/tcp_input.c 1.411.2.6.2.2
|
|
sys/netinet6/in6.c 1.121.2.11.2.2
|
|
sys/netinet6/ip6_input.c 1.132.2.4.2.2
|
|
RELENG_9
|
|
sys/netinet/tcp_input.c 1.437.2.7
|
|
sys/netinet6/in6.c 1.139.2.16
|
|
sys/netinet6/ip6_input.c 1.147.2.4
|
|
RELENG_9_0
|
|
src/UPDATING 1.702.2.4.2.5
|
|
src/sys/conf/newvers.sh 1.95.2.4.2.7
|
|
sys/netinet/tcp_input.c 1.437.2.2.2.2
|
|
sys/netinet6/in6.c 1.139.2.4.2.2
|
|
sys/netinet6/ip6_input.c 1.147.2.1.2.2
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/8/ r236827
|
|
releng/8.3/ r236953
|
|
releng/8.2/ r236953
|
|
releng/8.1/ r236953
|
|
stable/9/ r236826
|
|
releng/9.0/ r236953
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
The latest revision of this Errata Notice is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-EN-12:02.ipv6refcount.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.12 (FreeBSD)
|
|
|
|
iEYEARECAAYFAk/XQFQACgkQFdaIBMps37LBygCeLi30YsLogAWsemBcX/WdtOqi
|
|
35UAoIVvwvGi+fOs/fGm2PoAixAWqhSH
|
|
=2X+g
|
|
-----END PGP SIGNATURE-----
|