16.10.FreeBSD 安全公告¶
像许多高质量操作系统的开发者一样,FreeBSD 项目有一个安全团队,负责确定每个 FreeBSD 发行版的生命周期结束(EoL)日期,并为尚未达到其生命周期的受支持发行版本提供安全更新。有关更多 FreeBSD 安全团队和支持的版本的信息,请访问 FreeBSD 安全页面。
安全团队的一项任务是响应 FreeBSD 操作系统中报告的安全漏洞。确认漏洞后,安全团队将验证修复漏洞所需的步骤,并使用修复程序更新源代码。然后,它将详细信息发布为“安全公告”。安全公告发布在 FreeBSD 网站上,并邮寄到 FreeBSD 安全通知邮件列表、 FreeBSD 安全邮件列表 和 FreeBSD 公告邮件列表 邮件列表。
本节讨论了 FreeBSD 安全公告的格式。
16.10.1.安全公告的格式¶
下面是一个 FreeBSD 安全公告的例子:
=============================================================================
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
=============================================================================
FreeBSD-SA-14:04.bind Security Advisory
The FreeBSD Project
Topic: BIND remote denial of service vulnerability
Category: contrib
Module: bind
Announced: 2014-01-14
Credits: ISC
Affects: FreeBSD 8.x and FreeBSD 9.x
Corrected: 2014-01-14 19:38:37 UTC (stable/9, 9.2-STABLE)
2014-01-14 19:42:28 UTC (releng/9.2, 9.2-RELEASE-p3)
2014-01-14 19:42:28 UTC (releng/9.1, 9.1-RELEASE-p10)
2014-01-14 19:38:37 UTC (stable/8, 8.4-STABLE)
2014-01-14 19:42:28 UTC (releng/8.4, 8.4-RELEASE-p7)
2014-01-14 19:42:28 UTC (releng/8.3, 8.3-RELEASE-p14)
CVE Name: CVE-2014-0591
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:http://security.FreeBSD.org/>.
I. Background
BIND 9 is an implementation of the Domain Name System (DNS) protocols.
The named(8) daemon is an Internet Domain Name Server.
II. Problem Description
Because of a defect in handling queries for NSEC3-signed zones, BIND can
crash with an "INSIST" failure in name.c when processing queries possessing
certain properties. This issue only affects authoritative nameservers with
at least one NSEC3-signed zone. Recursive-only servers are not at risk.
III. Impact
An attacker who can send a specially crafted query could cause named(8)
to crash, resulting in a denial of service.
IV. Workaround
No workaround is available, but systems not running authoritative DNS service
with at least one NSEC3-signed zone using named(8) are not vulnerable.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to a supported FreeBSD stable or
release / security branch (releng) dated after the correction date.
2) To update your vulnerable 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 8.3, 8.4, 9.1, 9.2-RELEASE and 8.4-STABLE]
# fetch http://security.FreeBSD.org/patches/SA-14:04/bind-release.patch
# fetch http://security.FreeBSD.org/patches/SA-14:04/bind-release.patch.asc
# gpg --verify bind-release.patch.asc
[FreeBSD 9.2-STABLE]
# fetch http://security.FreeBSD.org/patches/SA-14:04/bind-stable-9.patch
# fetch http://security.FreeBSD.org/patches/SA-14:04/bind-stable-9.patch.asc
# gpg --verify bind-stable-9.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
Recompile the operating system using buildworld and installworld as
described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>.
Restart the applicable daemons, or reboot the system.
3) To update your vulnerable system via a binary patch:
Systems running a RELEASE version of FreeBSD on the i386 or amd64
platforms can be updated via the man:freebsd-update[8] utility:
# freebsd-update fetch
# freebsd-update install
VI. Correction details
The following list contains the correction revision numbers for each
affected branch.
Branch/path Revision
- -------------------------------------------------------------------------
stable/8/ r260646
releng/8.3/ r260647
releng/8.4/ r260647
stable/9/ r260646
releng/9.1/ r260647
releng/9.2/ r260647
- -------------------------------------------------------------------------
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:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
VII. References
<URL:https://kb.isc.org/article/AA-01078>
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0591>
The latest revision of this advisory is available at
<URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-14:04.bind.asc>
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCgAGBQJS1ZTYAAoJEO1n7NZdz2rnOvQP/2/68/s9Cu35PmqNtSZVVxVG
ZSQP5EGWx/lramNf9566iKxOrLRMq/h3XWcC4goVd+gZFrvITJSVOWSa7ntDQ7TO
XcinfRZ/iyiJbs/Rg2wLHc/t5oVSyeouyccqODYFbOwOlk35JjOTMUG1YcX+Zasg
ax8RV+7Zt1QSBkMlOz/myBLXUjlTZ3Xg2FXVsfFQW5/g2CjuHpRSFx1bVNX6ysoG
9DT58EQcYxIS8WfkHRbbXKh9I1nSfZ7/Hky/kTafRdRMrjAgbqFgHkYTYsBZeav5
fYWKGQRJulYfeZQ90yMTvlpF42DjCC3uJYamJnwDIu8OhS1WRBI8fQfr9DRzmRua
OK3BK9hUiScDZOJB6OqeVzUTfe7MAA4/UwrDtTYQ+PqAenv1PK8DZqwXyxA9ThHb
zKO3OwuKOVHJnKvpOcr+eNwo7jbnHlis0oBksj/mrq2P9m2ueF9gzCiq5Ri5Syag
Wssb1HUoMGwqU0roS8+pRpNC8YgsWpsttvUWSZ8u6Vj/FLeHpiV3mYXPVMaKRhVm
067BA2uj4Th1JKtGleox+Em0R7OFbCc/9aWC67wiqI6KRyit9pYiF3npph+7D5Eq
7zPsUdDd+qc+UTiLp3liCRp5w6484wWdhZO6wRtmUgxGjNkxFoNnX8CitzF8AaqO
UWWemqWuz3lAZuORQ9KX
=OQzQ
-----END PGP SIGNATURE-----
每个安全公告都使用以下格式:
每个安全公告都由安全官的 PGP 密钥签名。可以在 OpenPGP 密钥 中验证安全官的公钥。
安全公告的名字总是以
FreeBSD-SA-
开头 (代表 FreeBSD 安全公告),后面是两位数格式的年份 (14:
),然后是该年的公告编号 (04.
),再后面是受影响的软件或子系统的名称 (bind
)。这里显示的安全公告是 2014 年的第四个安全公告,它影响到了 BIND。Topic
字段概述了该漏洞。Category
指系统中受影响的部分,可以是core
、contrib
或ports
之一。core
类别意味着该漏洞影响了 FreeBSD 操作系统的核心组件。contrib
类别意味着该漏洞会影响 FreeBSD 附带的软件,例如 BIND。ports
类别表示该漏洞影响通过 ports 提供的软件。module
字段指的是组件的位置。在这个例子中,bind
模块受到了影响。因此,这个漏洞影响了随操作系统安装的软件。Announced
字段反映了安全公告的发布日期。这意味着安全团队已经验证了问题的存在,并且已经将补丁提交到 FreeBSD 源代码存储库。Credits
字段表示发现该漏洞并报告它的个人或组织。Affects
字段解释了哪些 FreeBSD 版本受此漏洞影响。Corrected
指出了被纠正的日期、时间、时间偏移和版本。括号中的部分显示了已经合并了修正的每个分支,以及该分支对应的版本号,版本标识符本身包括版本号,如果合适,还包括补丁级别。补丁级别是字母p
后面的数字,表示补丁的序列号,使用户追踪哪些补丁已经应用到系统中。CVE Name
字段列出了通用漏洞披露数据库 cve.mitre.org 中的公告编号(如果存在)。Background
字段提供受影响模块的说明。Problem Description
字段说明了此漏洞技术细节。这可能包括有关有缺陷的代码以及如何恶意该利用软件的信息。Impact
字段说明了问题可能对系统产生的影响类型。Workaround
字段指示无法立即修补系统的系统管理员是否可以使用变通的办法解决。Solution
字段提供了有关修补受影响系统的说明。这是一种经过逐步测试和验证的方法,用于修补系统让其安全运行。Correction Details
字段显示每个受影响的 Subversion 分支,其中包含更正代码的修订版号。References
字段提供了有关此漏洞的其他信息来源。