亚马逊 Linux 安全公告 AL2023 - Amazon Linux 2023

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 Linux 安全公告 AL2023

尽管我们努力确保 Amazon Linux 的安全,但有时会有一些安全问题需要修复。当有可用的修复程序时,我们就会发布通告。我们发布通告的主要位置是 Amazon Linux 安全中心(ALAS)。有关更多信息,请参阅 Amazon Linux 安全中心

重要

如果您想报告漏洞或对 AWS 云服务或开源项目有安全疑虑,请使用 “漏洞报告” 页面与 AWS 安全部门联系

Amazon Linux 团队在多个地点发布了有关问题和相关更新的信息。 AL2023 安全工具通常会从这些主要源代码中获取信息并将结果呈现给您。因此,您可能不会直接与 Amazon Linux 发布的主要源代码进行交互,而是与您的首选工具(例如 Amazon Inspector)提供的界面进行交互。

Amazon Linux 安全中心公告

Amazon Linux 公告用于不适合放入通告的项目。这部分包含关于 ALAS 本身的公告,以及不适合放入通告的信息。有关更多信息,请参阅 Amazon Linux Security Center(ALAS)公告

例如,2021-001 号关于 Apache Log4j 的 Amazon Linux 热补丁公告应归类为公告而非通告。在此公告中,Amazon Linux 添加了一个程序包以帮助客户缓解不属于 Amazon Linux 的软件中的安全问题。

Amazon Linux Security Center CVE Explorer 也通过 ALAS 公告宣布推出。有关更多信息,请参阅新网站 CVEs

Amazon Linux 安全中心常见问题解答

有关 ALAS 和 Amazon Linux 如何评估的一些常见问题的答案 CVEs,请参阅亚马逊 Linux 安全中心 (ALAS) 常见问题解答 ()。FAQs

ALAS 通告

Amazon Linux 通告包含与 Amazon Linux 用户相关的重要信息,通常是关于安全更新的信息。可以通过 Amazon Linux 安全中心在网络上查看通告。通告信息也是 RPM 程序包存储库元数据的一部分。

通告和 RPM 存储库

Amazon Linux 2023 程序包存储库可能包含描述零个或多个更新的元数据。dnf updateinfo 命令以包含此信息的存储库元数据文件名 updateinfo.xml 命名。虽然命令名为 updateinfo,而元数据文件引用 update,但这些都指代属于通告一部分的程序包更新。

Amazon Linux 通告发布在 Amazon Linux 安全中心网站,同时信息也存在于 dnf 程序包管理器引用的 RPM 存储库元数据中。网站和存储库元数据最终会保持一致,但网站和存储库元数据中的信息可能存在暂时性不一致的情况。这通常发生在发布新版本时,在最新 AL2023 版本之后公告有更新时。 AL2023

虽然新通告通常与解决问题的程序包更新一起发布,但并非总是如此,也可以为已在已发布程序包中解决的新问题创建通告。现有公告也可以使用新公告进行更新 CVEs ,现有更新将解决这些问题。

Amazon Linux 2023 的通过版本控制的存储库进行确定性升级 AL2023功能意味着特定 AL2023 版本的 RPM 存储库包含截至该版本的 RPM 存储库元数据的快照。这包括描述安全更新的元数据。特定 AL2023 版本的 RPM 存储库在发布后不会更新查看旧版本的 AL2023 RPM 存储库时,新的或更新的安全公告将不可见。有关如何使用dnf软件包管理器查看latest存储库版本或特定 AL2023 版本的信息,请参阅列出适用的通告部分。

咨询 IDs

每个通告由一个 id 引用。目前,这是亚马逊 Linux 的一个怪癖,亚马逊 Linux 安全中心网站将公 ALAS2023告列为 ALAS-2024-581,而dnf软件包管理器会将该公告列为 -2024-581。当 原地应用安全更新 时,程序包管理器 ID 需要用于引用特定通告。

对于 Amazon Linux,每个主要版本的操作系统都有自己的咨询命名空间 IDs。不应对 Amazon Linux 公告的格式做出任何假设 IDs。从历史上看,Amazon Linux Advisory IDs 一直遵循以下模式NAMESPACE-YEAR-NUMBERNAMESPACE 的可能值范围未定义,但包括 ALASALASCORRETTO8ALAS2023ALAS2ALASPYTHON3.8ALASUNBOUND-1.17YEAR 是创建通告的年份,NUMBER 是命名空间内的唯一整数。

尽管 IDs Ad visory 通常是按更新发布顺序排列的,但有许多原因不可能出现这种情况,因此不应假设这种情况。

将通告 ID 视为对每个 Amazon Linux 主要版本唯一的不透明字符串。

在 Amazon Linux 2 中,每个 Extra 在单独的 RPM 存储库中,通告元数据仅包含在相关的存储库中。一个存储库的通告不适用于另一个存储库。在 Amazon Linux 安全中心网站上,目前每个 Amazon Linux 主要版本都有一个通告列表,并未按存储库列表分开。

由于 AL2023 不使用 Extras 机制来打包其他版本的软件包,因此目前只有两个 RPM 存储库,每个存储库都有咨询、core存储库和存储livepatch库。livepatch 存储库用于 AL2023 上的内核实时修补

通告发布日期和通告更新日期

Amazon Linux 通告的通告发布日期表示安全更新首次在 RPM 存储库中公开发布的时间。修复方案发布至 RPM 存储库可供安装后,相关通告会立即在 Amazon Linux 安全中心网站发布。

通告更新日期表示在先前发布后向通告添加新信息的时间。

不应在 AL2023 版本号(例如 2023.6.20241031)和与该版本一起发布的公告公告发布日期之间做出任何假设。

通告类型

RPM 存储库元数据支持不同类型的通告。虽然 Amazon Linux 几乎只发布安全更新的通告,但不应假设情况始终如此。可能发布用于错误修复、增强功能和新程序包等事件的通告,且通告标记为包含此类更新。

通告严重性

每份通告有自己的严重性,因为每个问题单独评估。在单个通告中 CVEs 可以解决多个问题,每个 CVE 可能有不同的评估,但该通告本身具有一个严重性。可能有多份通告引用单个程序包更新,因此特定程序包更新可能有多个严重性(每份通告一个)。

按严重性递减顺序,Amazon Linux 使用严重、重要、中等和低来表示通告的严重性。Amazon Linux 通告也可能没有严重性,尽管这极其罕见。

Amazon Linux 是使用术语“中等”的基于 RPM 的 Linux 发行版之一,而其他一些基于 RPM 的 Linux 发行版使用等效术语“中”。Amazon Linux 程序包管理器将两个术语视为等效,且第三方程序包存储库可能使用术语“中”。

随着对通告中解决的相关问题了解更多,Amazon Linux 通告可以随时间改变严重性

通告的严重性通常会跟踪该公告所 CVEs 引用的 Amazon Linux 评估的最高 CVSS 分数。在某些情况下可能不是这样。例如,某些已修复但未分配 CVE 编号的问题便会采用此种处理方式。

更多关于 Amazon Linux 如何使用通告严重性评级的信息,请参阅 ALAS 常见问题解答

通告和程序包

单个程序包可能有多份通告,且并非所有程序包都会有通告发布。可以在多个公告中引用特定的软件包版本,每个公告都有自己的严重性和。 CVEs

在一个新版本中可以同时发布多个针对同一个软件包更新的公告,也可以快速连续 AL2023 发布。

像其他 Linux 发行版一样,从一个源程序包可以构建一个到多个不同的二进制程序包。例如,ALAS-2024-698亚马逊 Linux 安全中心网站AL2023 部分列出的适用于该mariadb105软件包的公告。这是程序包名称,通告本身引用二进制程序包以及源程序包。在这种情况下,从一个 mariadb105 源程序包构建了十几个二进制程序包。虽然通常有一个与源程序包同名的二进制程序包,但这并不普遍。

虽然 Amazon Linux 通告通常列出从更新的源程序包构建的所有二进制程序包,但不应假设情况始终如此。程序包管理器和 RPM 存储库元数据格式允许通告列出更新的二进制程序包子集。

特定通告也可能仅适用于特定 CPU 架构。有些程序包可能不是为所有架构构建的,也可能存在不影响所有架构的问题。在程序包在所有架构上可用但问题仅适用于一个架构的情况下,Amazon Linux 通常不会发布仅引用受影响架构的通告,尽管不应假设情况始终如此。

由于程序包依赖关系的性质,通常通告引用一个程序包,但安装该更新需要其他程序包更新,包括未在通告中列出的程序包。dnf 程序包管理器将处理安装所需的依赖项。

公告和 CVEs

一份公告可能涉及零个或多个 CVEs,并且可能有多个咨询引用同一 CVE。

建议何时可能引用零的一个例子 CVEs 是尚未为问题分配 CVE(或从来没有)。

多份通告可能引用同一 CVE 的例子是当 CVE 适用于多个程序包时。例如,CVE-2024-21208 适用于 Corretto 8、11、17 和 21。这些 Corretto 版本 AL2023中的每一个都是一个单独的软件包,每个软件包都有公告:ALAS-2024-754 适用于 Corretto 8,ALAS-2024-753 适用于 Corretto 11,ALAS-2024-752 适用于 Corretto 17ALAS-2024-752 适用于 Corretto 21。虽然这些 Corretto 版本都有相同的列表,但不应 CVEs假设这一点。

对于不同的程序包,可以对特定 CVE 进行不同的评估。例如,如果特定 CVE 在通告中以“重要”严重性引用,可能发布另一份通告引用同一 CVE 但严重性不同。

RPM 存储库元数据允许列出每份通告的参考文献。虽然 Amazon Linux 通常只引用 CVEs,但元数据格式确实允许其他参考类型。

RPM 软件包存储库元数据将仅在 CVEs 有可用的修复程序时引用。亚马逊 Linux 安全中心网站的 “浏览” 部分 CVEs 包含有关亚马逊 Linux 评估过的信息。此评估可能导致针对各种 Amazon Linux 版本和程序包的 CVSS 基本分数、严重性和状态。特定 Amazon Linux 版本或程序包的 CVE 状态可能为“不受影响”、“待修复”或“无修复计划”。在公告发布之前,的状态和评估 CVEs 可能会多次以任何方式发生变化。这包括重新评估 CVE 对 Amazon Linux 的适用性。

该公告首次发布后,该公 CVEs 告所引用的列表可能会发生变化。

通告文本

通告还将包含描述导致创建通告的问题的文本。通常此文本是未修改的 CVE 文本。此文本可能引用上游版本号,其中修复程序可用,与 Amazon Linux 已应用修复程序的程序包版本不同。通常 Amazon Linux 会从较新的上游版本回溯修复程序。在通告文本提及的上游版本与 Amazon Linux 版本中提供的版本不同的情况下,通告中的 Amazon Linux 程序包版本对于 Amazon Linux 来说将是准确的。

RPM 存储库元数据中的通告文本可能是占位符文本,详情请访问 Amazon Linux 安全中心网站。

内核实时补丁通告

实时补丁通告的独特之处在于它们引用不同的程序包(Linux 内核)而不是通告针对的程序包(例如 kernel-livepatch-6.1.15-28.43)。

内核动态补丁公告将引用特定的 Live Patch 包可以针对该实时补丁包所适用的特定内核版本解决的问题(例如 CVEs)。

每个实时补丁都适用于特定内核版本。为了应用 CVE 的实时补丁,需要安装适用于您内核版本的正确实时补丁程序包,并应用实时补丁。

例如,可以针对 AL2023 内核版本、和 6.1.56-82.125 6.1.59-84.1396.1.61-85.141,对 CVE-2023-6111 进行实时修补。还发布了包含此 CVE 修复程序的新内核版本,并有单独的通告。要在等于或高于 ALAS2023-2023-461 所指定版本的内核版本上 AL2023 解决 CVE-2023-6111 问题,或者需要在应用适用的 livepatch 的情况下运行带有此 CVE 实时补丁的内核版本之一。

当有新的实时补丁可用于特定内核版本时(该版本已有实时补丁可用),会发布新版本的 kernel-livepatch-KERNEL_VERSION 程序包。例如,发布公ALASLIVEPATCH-2023-003告的kernel-livepatch-6.1.15-28.43-1.0-1.amzn2023软件包中包含了涵盖三个6.1.15-28.43内核的实时补丁 CVEs。后来,该kernel-livepatch-6.1.15-28.43-1.0-2.amzn2023软件包发布了公ALASLIVEPATCH-2023-009告;这是对先前6.1.15-28.43内核的实时补丁包的更新,其中包含另外三个的实时补丁 CVEs。还有其他针对其他内核版本的实时补丁通告问题,程序包中包含针对那些特定内核版本的实时补丁。

更多关于内核实时补丁的信息,请参阅 AL2023 上的内核实时修补

对于任何围绕安全通告开发工具的人员,还建议查看 通告和 updateinfo.xml 的 XML 模式 部分以获取更多信息。

通告和 updateinfo.xml 的 XML 模式

updateinfo.xml 文件是程序包存储库格式的一部分。它是 dnf 程序包管理器解析以实现功能(如 列出适用的通告原地应用安全更新)的元数据。

我们建议使用 dnf 程序包管理器的 API,而不是编写自定义代码来解析存储库元数据格式。dnfin 的版本 AL2023可以解析 AL2023 和 AL2 存储库格式,因此 API 可用于检查任一操作系统版本的咨询信息。

RPM 软件管理项目在 rpm 元数据存储库中记录了 RPM 元数据格式。 GitHub

对于围绕直接解析 updateinfo.xml 元数据开发工具的人员,强烈建议仔细关注 rpm-metadata 文档。该文档涵盖了实际应用中遇到的情况,其中包含许多可能被您合理理解为元数据格式规则的例外情况。

上的 raw-historical-rpm-repository-examples 存储库中还有越来越多的真实updateinfo.xml文件示例。 GitHub

如果文档中有任何不清楚的地方,你可以在 GitHub 项目上打开一个问题,这样我们就可以回答问题并适当地更新文档。作为开源项目,我们也欢迎通过拉取请求来贡献文档更新。