Eclipse Vert.x 是一个微服务开发框架,基于事件和异步,依托于全异步 Java 服务器 Netty,并扩展了很多其他特性,以其轻量、高性能、支持多语言开发而备受开发者青睐。
Eclipse Vert.x 版本 4.3.7 现已发布。自 Vert.x 4.3.6 发布以来,已经报告了很多错误;此版本更新到 Netty-4.1.87.Final,修复了两个 CVE:
- CVE-2022-41881
- CVE-2022-41915
Vert.x 不受 CVE-2022-41915 的影响,因为提到的类用于 HTTP 服务器请求和 HTTP 客户端响应,因此不用于将 headers 写入 outbound endpoint,而是用于接收来自 remote endpoint 的 HTTP headers。
如果 TCP 服务器配置为接收 HA 代理流量,Vert.x 对 CVE-2022-41881 很敏感:服务器可以接收一个精心设计的 HA 代理前缀,该前缀会引发堆栈跟踪溢出,该溢出被 Vert.x 服务器捕获,TCP连接在服务器中保持原状,导致潜在的资源耗尽。它可以通过在服务器选项上设置的超时来缓解,例如 options.setProxyProtocolTimeout(10)
在 10 秒后关闭连接。官方还建议仅将此类服务器公开给受信任的 HA 代理实例,以及建议始终设置一个 timeout。
更多详情可查看发布公告,可以在 wiki 上找到 4.3.7 发行说明。