简介
远程 Amazon Linux 2 主机缺少安全更新。
描述
远程主机上安装的 openssl 版本低于 1.0.2k-24。因此,该软件受到 ALAS2-2026-3365 公告中提及的多个漏洞影响。
问题摘要:解析原始元素内容长度超过 2 GB 且经过 DER 编码构建的 ASN.1 结构可在 64 位 Unix 和类 Unix 平台上造成堆缓冲区越界读取。
影响汇总:堆缓冲区越界读取可能会导致应用程序崩溃(拒绝服务),或将内存中经解码的 ASN.1 对象内容加载到超出输入缓冲区末端的位置。更典型的是,此类 ASN.1 元素会被截断。
OpenSSL 的 ASN.1 解码器中的整数截断导致 ASN.1 原始元素的内容长度在超过 2 GB 时被错误处理。在最严重的情况下,截断长度被视为扫描终止零字节的二进制内容的请求,可能导致 OpenSSL 读取小于或超出所分配缓冲区末端的位置。
将攻击者提供的数据传递到 d2i_X509()、d2i_PKCS7() 或任何其他 d2i_* 解码函数的应用程序会受到影响。OpenSSL 自带的命令行工具不易受到影响,因为通过 BIO 层读取的数据在到达受影响的代码前已受到检查。该问题仅影响 64 位 Unix 和类 Unix 平台;32 位平台和 64 位 Windows 不受影响。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-34180)
问题摘要:特制的密码加密 CMS 消息可在 CMS 解密期间触发空指针解引用。
影响摘要:空指针解引用会导致应用程序崩溃和拒绝服务。
CMS PasswordRecipientInfo.keyDerivationAlgorithm 字段在 ASN.1 规范中定义为 OPTIONAL,因此在特制的输入中可能缺失。在基于密码的 CMS 解密期间,OpenSSL CMS 实现在未检查此字段是否存在的情况下,解引用此字段。
将此类 CMS 消息提供给执行基于密码的 CMS 解密的应用程序的攻击者可触发应用程序崩溃,从而导致拒绝服务。
处理密码加密 CMS 消息的应用程序可能会受到影响。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-42766)
问题摘要:特别构建 PKCS#7 消息或 S/MIME 带符号消息可在签名验证期间 PKCS#7 触发释放后使用。
影响汇总:释放后使用可能会导致进程崩溃、堆损坏,或可能造成远程代码执行。
当处理 PKCS#7 消息或 S/MIME 带符号消息时,如果 SignedData digestAlgorithms 字段以空 ASN.1 SET 的形式存在,则 OpenSSL 可能会在 PKCS7_verify() 期间错误地释放调用程序拥有的 BIO。调用应用程序随后对 BIO 的使用会导致释放后使用情况。
在常见情况下,应用程序稍后对最初传递给 PKCS7_verify() 的 BIO 调用 BIO_free() 时,会发生此情况。这可能会导致崩溃或其他内存损坏,具体取决于分配器行为和应用程序特定的 BIO 使用模式。在某些应用程序上下文中,此问题可能被利用于远程代码执行。
使用 OpenSSLPKCS#7 API 处理消息或 S/MIME 带符号消息的PKCS#7应用程序可能会受到影响。
将 CMS API 用于此处理的应用程序不受影响。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-45447)
问题摘要:在 ASN1_mbstring_ncopy() 中为 Unicode 输出调整目标缓冲区大小时发生的带符号整数溢出,可导致堆缓冲区溢出。
影响摘要:堆缓冲区溢出可能导致崩溃,或可能导致攻击者控制代码执行或其他未定义的行为。
在 ASN1_mbstring_copy() 和 ASN1_mbstring_ncopy() 中,Unicode 输出的目标大小以带符号的 int 计算得出:左移 BMPSTRING (UTF-16) 和 UNIVERSALSTRING (UTF-32) 的输入字符计数,并对 UTF8STRING 每个字符的字节数进行求和。当输入达到约 2^30 个字符时,计算将溢出。在最坏的情况下(2^30 个字符的 UNIVERSALSTRING),大小值会回绕为零,调用 OPENSSL_malloc(1),后续的字符复制操作将在一字节分配空间之外写入数 GB 的数据。
X.509 证书处理路由通过 ASN1_STRING_set_by_NID(),其DIRSTRING_TYPE掩码排除 UNIVERSALSTRING,且其每个 NIDsize 限制输入长度上限;OpenSSL 中没有任何网络协议或证书处理路径执行溢出。触发此错误需要应用程序直接调用ASN1_mbstring_copy() 或 ASN1_mbstring_ncopy(),或通过 ASN1_STRING_TABLE_add() 注册自定义字符串类型,且攻击者控制的输入量级为半 GB 或更多。出于这些原因,此问题被指定为低危严重性。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-7383)
问题摘要:当 CMS 基于密码的解密(RFC 3211 / PWRI 密钥解包)处理攻击者提供的 CMS 数据时,攻击者选择的流模式 KEK 密码可在 kek_unwrap_key() 中触发堆越界读取。
影响汇总:堆缓冲区过度读取可触发崩溃,如果输入缓冲区以内存页面边界结束,且后续页面未映射,则可能导致应用程序拒绝服务。不会泄露信息,因为过度读取字节不会泄露给攻击者。
密钥解包功能执行 RFC 中指定的检查字节测试,该测试从基于消息中封装的密钥长度的堆分配中读取 7 字节。存在基于封装密码的块长度的最小长度检查。但是,该密码是从攻击者的 PWRI keyEncryptionAlgorithm 中携带的 OID 中选择的,且不要求该密码是块密码。当攻击者选择流模式密码时,防护措施将失效,且含有解包密钥的分配缓冲区可能太小,无法符合 RFC 中指定的检查字节,因此可能会发生缓冲区过度读取。
调用不受信任的 CMS 数据中的 CMS_decrypt() 或 CMS_decrypt_set1_password() 的应用程序(等同于 openssl cms -decrypt
-pwri_password ...)在不受信任的 CMSdata 上容易受到此问题的影响。无需密码知识:
在任何认证成功之前,都会在尝试解包期间发生越界读取。
越界读取受限于几个字节,并且不会写入输出,因此不会泄露信息。触发崩溃需要向边界未映射内存进行分配,而普通分配器不太可能出现此情况。
FIPS 模块不受此问题影响。(CVE-2026-9076)
Tenable 已直接从测试产品的安全公告中提取上述描述块。
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“yum update openssl”或“yum update --advisory ALAS2-2026-3365”以更新系统。
插件详情
文件名: al2_ALAS-2026-3365.nasl
代理: unix
支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C
矢量: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: p-cpe:/a:amazon:linux:openssl-perl, p-cpe:/a:amazon:linux:openssl-static, cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:openssl-devel, p-cpe:/a:amazon:linux:openssl-debuginfo, p-cpe:/a:amazon:linux:openssl, p-cpe:/a:amazon:linux:openssl-libs
必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
易利用性: No known exploits are available