Rapid7脆弱性 & 利用数据库

OpenSSL漏洞(CVE-2024-5535)

2024年攻击情报报告 Rapid7实验室的最新研究
返回搜索

OpenSSL漏洞(CVE-2024-5535)

严重程度
4
CVSS
(AV: L /交流:米/非盟:N / C: P / I: P / A: P)
发表
06/28/2024
创建
06/28/2024
添加
06/28/2024
修改
07/01/2024

描述

调用OpenSSL API函数SSL_select_next_proto 支持的客户端协议缓冲区空可能导致崩溃或内存内容丢失 发送给对等体. 影响总结:缓冲区过读可能有一系列潜在的后果 例如意外的应用程序行为或崩溃. 特别是这个问题 可能导致从内存发送多达255字节的任意私有数据 给同行造成了保密的损失. 但是,只有应用程序 使用长度为0的列表直接调用SSL_select_next_proto函数 受此问题影响的是支持的客户端协议. 这通常不会 是一个有效的场景,通常不受攻击者的控制,但可能发生在 在调用中的配置或编程错误的情况下发生的事故 应用程序. OpenSSL API函数SSL_select_next_proto通常由TLS使用 支持ALPN(应用层协议协商)或NPN的应用 (下一议定书谈判). NPN较老,从未标准化,而且 不赞成使用ALPN. 我们认为ALPN要明显的多 比NPN应用更广泛. SSL_select_next_proto函数接受一个列表 来自服务器的协议以及来自客户端和返回的协议列表 出现在服务器列表中的第一个协议也出现在 客户名单. 如果两个列表之间没有重叠,则返回 客户端列表中的第一项. 在任何一种情况下,它都将表示是否重叠 在两张单子之间找到了. 在SSL_select_next_proto为 使用零长度客户端列表调用时,它无法注意到此条件和 返回紧接在客户端列表指针后面的内存(并报告 名单上没有重叠). 此函数通常从服务器端应用程序回调调用 ALPN或NPN的客户端应用程序回调. 在ALPN的情况下,列表 libssl保证客户端提供的所有协议永远不会为零 长度. 服务器协议列表来自应用程序,不应该 通常期望为零长度. 在这种情况下,如果 已按预期调用SSL_select_next_proto函数(带有列表) 由客户端提供(在client/client_len参数中传递),然后是 应用程序不会受到此问题的影响. 如果应用程序有 不小心配置了一个零长度的服务器列表,并且已经 意外地在client/client_len中传递了零长度的服务器列表 参数,并且无法正确处理“无重叠” 响应(这通常会导致ALPN中的握手失败),然后它 会受到这个问题的影响吗. 在NPN的情况下,协议允许客户端机会选择 没有重叠的协议. OpenSSL返回第一个客户端协议 在没有重叠的情况下支持这个. 客户端协议列表出现 从应用程序中,通常不应该期望长度为零. 但是,如果SSL_select_next_proto函数意外地使用 Client_len为0,则返回一个无效的内存指针. 如果 应用程序使用此输出作为机会协议,然后损失 保密将会发生. 这个问题被评估为低严重性,因为应用程序是最安全的 如果他们使用的是NPN而不是ALPN,那么很可能是脆弱的——但是NPN不是 广泛使用的. 它还需要应用程序配置或编程错误. 最后,这个问题通常不在攻击者的控制之下 开发不太可能. 3 . FIPS模块.3, 3.2, 3.1和3.0不受此问题影响. 由于此问题的严重性较低,我们不会发布新的 OpenSSL. 该修复将包含在下一个版本中 可用.

解决方案(年代)

  • http-openssl-1_0_2-upgrade-1_0_2_z_k
  • http-openssl-1_1_1-upgrade-1_1_1_z_a
  • http-openssl-3_0_15-upgrade-3_0_15
  • http-openssl-3_1_7-upgrade-3_1_7
  • http-openssl-3_2_3-upgrade-3_2_3
  • http-openssl-3_3_2-upgrade-3_3_2

使用Rapid7实时仪表板, 我对我的网络上的所有资产都有一个清晰的视图, 哪些是可以利用的, 以及我需要做些什么来实时减少环境中的风险. 没有其他工具能给我们这样的价值和洞察力.

- Scott Cheney, Sierra View医疗中心信息安全经理

;