简介
远程 Amazon Linux 2023 主机缺少安全更新。
描述
因此,该软件受到 ALAS2023-2026-1853 公告中提及的多个漏洞影响。
问题摘要:解析原始元素内容长度超过 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)
问题摘要: PKCS#12 文件处理无法对使用基于密码的消息验证代码 1 (PBMAC1) 完整性机制的文件执行充分的 inputvalidation,从而允许证书和私钥伪造。
影响汇总:冒充用户的攻击者可造成服务 readingPKCS#12 文件接受伪造的凭证和私钥(256 分之一的概率)。
如果接受文件的 PKCS#12 服务对接收到的文件使用密码进行身份验证,攻击者可创建使用指定仅一个字节的 HMAC 密钥的 PBMAC1 身份验证的未加密 PKCS#12 文件,从而允许他们特制将以 256 分之一的概率被接受的文件。然后,服务会造成服务接受由攻击者控制的证书和私钥。
FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-34181)
问题摘要:加密消息服务 (CMS) 处理无法对 AuthEnvelopedData 容器的密码和标签长度字段执行充分的输入验证,从而导致多种潜在危害。
影响汇总:利用这些漏洞的攻击者可能会为特定 CMS 接收方实现密钥对等功能,和/或绕过指定消息的完整性验证。
在一个用例中,攻击者可发送包含 AuthEnvelopedData 且密码指定为非 AEAD 密码的 CMS 消息。OpenSSL 错误地允许此选择,并尝试解密并验证消息。
捕获到一个发送给受害者的合法 AES-GCM AuthEnvelopedDataaddress 的路径攻击者可以在 recipientInfos 设置保持字节不变的情况下重新发出该数据,因此受害者的私钥仍会解包真正的 CEK(内容加密密钥),但将内部 OID 重写为 AES-256-OFB(输出反馈模式,一种未经身份验证的密钥流模式),并使用攻击者所选 IV 和密码文本。受害者在其中 CEK 下初始化 AES-256-OFB,从不查阅 MAC 字段,且 CMS_decrypt() 返回成功。
如果受到攻击的应用程序以任何指示解密工作成功或失败的指标对攻击者进行响应,则攻击者可能将其用作预言机,以获取用于所选消息接收者的 CEK 的密钥等效功能。
在另一个用例中,攻击者可将给定 AuthEnvelopedData 容器所选 AEADcipher 的标签长度减少为单字节长,从而允许攻击者暴力破解 CMS 解密,从而为信任 CMS_decrypt() 拒绝修改内容的应用程序造成完整性绕过。
FIPS 模块不受此问题影响。(CVE-2026-34182)
问题摘要:远程对等机可能会通过使用包含PATH_CHALLENGEframes的数据包淹没 QUICserver 或客户端来耗尽该堆内存。
影响汇总:恶意的远程对等方可造成无限内存分配,从而导致充当 QUIC 客户端或服务器的应用程序异常终止,以及拒绝服务。
远程对等端可能会通过用PATH_CHALLENGE帧淹没 localQUIC 堆栈来耗尽堆内存。本地 QUIC 堆栈为它收到的每个PATH_CHALLENGE分配一个PATH_RESPONSE帧。仅当远程对等机确认接收 PATH_RESPONSE 帧时,分配的 PATH_RESPONSE 帧才能释放,恶意对等机不会执行此操作。
4.0、3.6、3.5、3.4 和 3.0中的 FIPS 模块不受此问题影响。QUIC 堆栈位于 OpenSSL FIPS 模块边界外部。(CVE-2026-34183)
问题摘要:收到带有无效标记的 QUIC 初始数据包可能会在地址验证禁用的 OpenSSL QUIC 服务器中触发空指针取消引用。
影响汇总:空指针取消引用通常会造成受影响的 QUIC 服务器进程异常终止和拒绝服务。
如果在 OpenSSL QUIC 服务器实现中禁用地址验证,攻击者可通过发送含有无效或过期标记的初始数据包来使服务器崩溃。
默认情况下,OpenSSL QUIC 服务器实现中启用客户端地址验证,这使得默认配置不易受到此问题的影响。但是,如果SSL_LISTENER_FLAG_NO_VALIDATE用于 SSL_new_listener() 调用,地址验证将被禁用,从而可以访问有漏洞的代码。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-42764)
问题摘要:特制的密码加密 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)
问题摘要:证书管理协议,攻击者控制的 CMP(证书管理协议)服务器可在 CMP 客户端应用程序中触发空指针取消引用。
影响摘要:空指针解引用会导致应用程序崩溃和拒绝服务。
控制 CMP 服务器(或充当中间人)的攻击者可以构建包含 CRMF(证书请求消息格式)CertRepMessage 的 CMP 响应,该响应具有 EncryptedValue 结构,其中 symmAlg 字段具有算法 OID 但没有参数字段。当 OpenSSL CMP 客户端处理此响应时,发生空指针取消引用,造成 CMP 客户端崩溃。
处理不受信任的 CMP/CRMF 消息的应用程序可能会受到影响。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-42767)
问题摘要:当攻击者能够提供 CMS 或 S/MIME 消息并观察错误代码和/或解密输出时,CMS_decrypt 和 PKCS7_decrypt 函数容易受到 Bleichenbacher 式攻击。
影响汇总:Bleichenbacher 式攻击允许攻击者利用受害者容易遭受攻击的应用程序,以此来通过受害者的私密 RSA 密钥解密或签署消息。
该攻击可能有 2 种变体。
1. 使用解密 API(CMS_decrypt()、PKCS7_decrypt())时未提供接收方证书。
在这种情况下,OpenSSL 会迭代 everyKeyTransRecipientInfo (KTRI),而不在第一次成功时停止。
如果攻击者创作了包含两个 KTRI 条目(第一个条目在受害者的公钥下包装真正的 CEK,第二个使用任意探测密文),则有机会迭代第二个 KTRI,以便在应用程序的错误代码可用时获取有效的 PKCS#1 v1.5 填充。
这是 Bleichenbacher oracle (Bleichenbacher, CRYPTO '98):一个自适应选择密文边信道,攻击者可从该边信道将任意 RSA 密文解密为受害者的密钥,或伪造其底下的任何 PKCS#1 v1.5 签名。
2. 当接收方证书提供解密 API(CMS_decrypt()、PKCS7_decrypt())且未找到接收方时,将替换随机密钥。
若攻击者可同时比较错误代码与解密结果,便可挂载 Bleichenbacher oracle。
我们未发现有任何应用程序可为远程攻击者提供发起这些情况中所述的攻击的机会。我们认为不太可能存在此类应用程序,因此此 CVE 被评估为低严重性。
为避免这些攻击,当使用 RSA PKCS#1 v1.5 密钥传输时,被调用的 EVP_PKEY_decrypt() 将使用 draft-irtf-cfrg-rsa-guidance 中所述的隐式拒绝机制。在之前的 OpenSSL 版本中,隐式拒绝已明确禁用。
隐式拒绝机制始终返回一个明文值,即对称密钥。该结果对于密文和私钥是确定性的。解密结果的长度可能与用于内容加密的对称密码密钥长度匹配。如果未提供证书,则将使用最后一个生成看起来有效的密钥的 RecipientInfo。这可能导致在解密时取得垃圾内容。作为处理此问题的正确方式,必须提供接收者证书以识别用于解密的特定的 RecipientInfo。
4.0、3.6、3.5 和 3.4 中的 FIPS 模块不受此问题的影响,因为 CMS 和 S/MIME 处理发生于 OpenSSL FIPS 模块边界之外。(CVE-2026-42768)
问题摘要:用于验证根 CA 密钥更新中所提供证书的回调出错 证书管理协议 (CMP) 消息响应致使证书验证无效,这可导致凭据从注册颁发机构 (RA) 级别升级到根证书颁发机构(根 CA)级别。
影响汇总:注册颁发机构可将 CMP 客户端的根 CA 证书替换为任意根 CA 证书。
在 RFC 9810 中指定的证书管理协议 (CMP) 的其中一个部分是根证书颁发机构(根 CA) 密钥滚动更新,由服务器在类型为“id-it-rootCaKeyUpdate”的消息中发送。作为这些消息的一部分,会提供“newWithOld”证书,即使用旧根 CA 密钥签名的新根 CA 证书,验证其签名对于将信任从旧 CA 密钥转移到新 CA 密钥至关重要。
预期使用预期验证“newWithOld”证书的 OSSL_CMP_get1_rootCaKeyUpdate() 处理“id-it-rootCaKeyUpdate”消息。证书链构建代码中的键入错误导致向证书链添加错误的证书(“newWithOld”而不是“oldRoot”),从而使证书验证进程无效(验证代码的其他部分仅验证颁发者名称和算法 OID)。
攻击者若已拥有能够通过 CMP 消息保护检查的凭据,即可生成新的密钥对,并在其“id-it-rootCaKeyUpdate”CMP 消息中使用特制自签名证书作为新的信任锚,受影响的 CMP 客户端会将其作为新的信任锚予以接受。
由于攻击需要满足重要的先决条件(具有有效的 RA 级凭据),因此该问题被定为具有低严重性问题。
FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-42769)
问题摘要:使用 DHX (X9.42) 对等机密钥调用 EVP_PKEY_derive_set_peer() 时,未针对子组成员身份正确检查对等机密钥。
影响汇总:提供带有受害者 p 和 g 参数的 X9.42 密钥、伪造的 q = r(余因子 (p-1)/q_local 的小质因数)和顺序 r 的公共值 Y 的恶意对等体可以在少量密钥交换尝试后恢复受害者的私钥。
使用 DHX (X9.42) 对等机密钥调用 EVP_PKEY_derive_set_peer() 时,子组成员身份检查 Y^q [?] 1 (mod p) 是使用对等机的 q 参数而非本地密钥的 q。然后对等机的域参数与私钥的域参数进行匹配,但不比较 q 的值。
提供带有受害者的 p,g,a 伪造的 q = r(余因子的小素因数)和阶数 r 的公共值 Y 的 X9.42 密钥的恶意对等方通过了所有检查。然后,共享密码仅采用 r 不同值,从而泄露 priv mod r。对余因子的每个小质因重复并通过 CRT 进行组合可恢复完整的私钥(Lim-Lee / small-subgroup-confinement 攻击)。
实际攻击面很窄:主要是具有长期限 RA/CA DHX 密钥的 CMP 部署,以及使用具有交互式协议的 X9.42 DHX 静态密钥的定制企业或政府应用程序,因此此问题的严重性被分配为低危。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块受此问题影响。(CVE-2026-42770)
问题摘要:当应用程序通过公共 EVP_Cipher() 单次调用接口驱动 AES-OCB 上下文时,应用程序提供的初始化矢量 (IV) 会被静默丢弃。
影响汇总:无论调用方提供的 IV 如何,在同一密钥下加密的每条消息都使用相同的有效随机数,从而导致(密钥、随机数)被重用和机密性丢失。如果使用相同的代码路径计算认证标签,则该标签仅依赖于(密钥,IV)对而不依赖于明文或密文,允许从单个捕获的消息中普遍伪造任意密文。
OpenSSL 提供两种驱动密码的方法:记录的流式接口 (EVP_CipherUpdate / EVP_CipherFinal_ex) 和较低级别的单次调用 EVP_Cipher(),其文档明确指出,不建议应用程序使用 EVP_Cipher(),支持使用 EVP_CipherUpdate() 和 EVP_CipherFinal_ex()。OCB 提供商的流式处理程序在处理数据前,会将应用程序提供的 IV 注入 OCB 上下文;单次调用处理程序则没有执行此程序。因此,无论调用方的 IV 如何,每次调用 AES-OCB 上下文中的 EVP_Cipher() 都会以密码初始化留下的全零密钥衍生偏移状态运行。
如果随后使用 EVP_EncryptFinal_ex() 获取认证标签,则延迟的 IV 设置会在该时运行并清除本应通过明文累积的运行校验和。生成的标签仅是(密钥、 IV)的函数,并针对同一 (密钥、 IV)对生成的任何密文进行验证。
OpenSSL SSL/TLS 实现不受影响:AES-OCB 不是 aTLS 加密套件,libssl 在任何情况下都不会调用 EVP_Cipher()。通过记录的流 AEADAPI (EVP_CipherUpdate / EVP_CipherFinal_ex) 驱动 AES-OCB 的应用程序不受影响。只有将 AES-OCB 密码与 EVP_Cipher() 单次调用 API 相结合的应用程序容易受到影响。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为 AES-OCB 位于 OpenSSL FIPS 模块边界之外。(CVE-2026-45445)
问题摘要:AES-SIV (RFC 5297) 和 AES-GCM-SIV (RFC 8452) 的实现使用空密文错误地处理 AAD(附加认证数据)的认证,从而允许伪造此类消息。
影响汇总:攻击者可以使用任意 AAD 伪造空消息,使用这些密码发送给受害者的应用程序。
AES-SIV (RFC 5297) 和 AES-GCM-SIV (RFC 8452) 是防随机数误用的 AEAD 模式:它们接受密钥、随机数、可选 AAD(经认证但未加密的字节)和纯文本,并生成密文和 16 字节标签。解密时,系统会记录“EVP_DecryptFinal_ex()”,仅当成功验证标签时才会返回成功。
在 OpenSSL 的这些密码算法的提供者实现中,预期的标签仅在使用非空数据调用解密函数时计算。如果调用程序提供 AAD,然后调用“EVP_DecryptFinal_ex()”而未调用密文更新(收到的密文长度为零时可能发生此情况),则永远不会重新计算标签,并且仍保留其全零值。
使用 AES-GCM-SIV 时,发送任意 AAD、空密文和全零标签的攻击者会以单次方式通过任何未知密钥的认证。使用 AES-SIV 时,为了发起攻击,应用程序必须在不重置密钥的情况下重用解密上下文。
AES-SIV 是自 OpenSSL 3.0 开始实现的。AES-GCM-SIV 是自 OpenSSL 3.2 开始实现的。
OpenSSL 本身 (TLS/CMS/PKCS7/HPKE/QUIC) 中实现的协议均不支持 AES-GCM-SIV 或 AES-SIV。
要挂载攻击,应用程序必须实现自己的协议并使用 EVP 接口。此外,当具有空密文的消息到达时,它们必须跳过密文更新。
4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为这些算法未经 FIPS 批准且受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-45446)
问题摘要:特别构建 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 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“dnf update openssl --releasever 2023.12.20260622”或“dnf update --advisory ALAS2023-2026-1853 --releasever 2023.12.20260622”以更新系统。
插件详情
文件名: al2023_ALAS2023-2026-1853.nasl
代理: unix
支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: p-cpe:/a:amazon:linux:openssl-debugsource, p-cpe:/a:amazon:linux:openssl-perl, p-cpe:/a:amazon:linux:openssl-fips-provider-latest-debuginfo, p-cpe:/a:amazon:linux:openssl-snapsafe-libs-debuginfo, p-cpe:/a:amazon:linux:openssl-snapsafe-libs, p-cpe:/a:amazon:linux:openssl-libs-debuginfo, p-cpe:/a:amazon:linux:openssl-devel, p-cpe:/a:amazon:linux:openssl-fips-provider-latest, p-cpe:/a:amazon:linux:openssl-debuginfo, p-cpe:/a:amazon:linux:openssl, cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:openssl-libs
必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
易利用性: No known exploits are available
参考资料信息
CVE: CVE-2026-34180, CVE-2026-34181, CVE-2026-34182, CVE-2026-34183, CVE-2026-42764, CVE-2026-42766, CVE-2026-42767, CVE-2026-42768, CVE-2026-42769, CVE-2026-42770, CVE-2026-45445, CVE-2026-45446, CVE-2026-45447, CVE-2026-7383, CVE-2026-9076