Ruby 3.3.13、3.4.12 和 4.0.9 的修正版本已发布,修复了一个严重漏洞 (CVE-2026-110264)。该漏洞会导致编译特制正则表达式时发生整数溢出。攻击者可以利用此漏洞攻击使用外部数据编写的 Ruby 项目。此外,已确认该漏洞可被用于在 GitLab 协作开发平台中远程执行代码。GitLab 19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10 和 18.11.13 版本已进一步修复了此问题。该漏洞的严重级别为 10(满分 10)。
Onigmo 的正则表达式引擎存在一个漏洞,当编译包含大量重复项的模式时,会导致内部标识符溢出。该问题仅在以下应用程序中出现:使用外部数据处理正则表达式(通过 `Regexp.new`、`Regexp.union` 和 `Regexp.compile` 方法处理)或使用形如“/#{input}/”的字面量。限制正则表达式的大小或通过 `Regexp.timeout` 方法限制其处理时间并不能防止此漏洞,因为攻击者可以使用较短的模式进行攻击。
GitLab 存在一个漏洞,未经身份验证的用户可以通过将外部数据替换到正则表达式中来利用该漏洞。利用方法的具体细节尚未公开(根据 GitLab 的政策,相关信息会在补丁发布 30 天后公布),但网上已经记录了针对 GitLab 用户的攻击尝试。攻击的间接迹象包括 Ruby 解释器崩溃次数的增加,以及处理 .org 文件时与页面渲染超时相关的日志错误数量的增加。
除了 CVE-2026-110264 之外,正则表达式引擎中还修复了三个漏洞:CVE-2026-89078(在模式被修改后无法解析时,内存会被重复释放)、CVE-2026-93577 和 CVE-2026-97229(在计算已编译模式的大小时,整数会溢出)。
来源: opennet.ru
