已关闭
CVE-2026-47240 #124
tong_1001创建于  17 天前关闭于  6 天前
tong_1001
17 天前 创建

一、漏洞信息
漏洞编号:CVE-2026-47240
漏洞归属组件:ruby
漏洞归属的版本:2.5.8,3.0.3,3.1.3,3.2.2,3.2.7,3.2.8
CVSS评分:
BaseScore:5.8 Medium
Vector:CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
漏洞简述:
Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Prior to 0.6.5 and 0.5.15, several Net::IMAP commands accept a raw data argument that is sent verbatim after validation to prevent command injection. However, if a server does not support non-synchronizing literals, it may still be possible to inject arbitrary IMAP commands inside non-synchronizing literals. A server without support for non-synchronizing literals may interpret the +} r n as the end of a malformed command line and respond with a tagged BAD. In that case, the contents of the literal will be interpreted as one or more new pipelined commands, allowing a CRLF command injection attack to succeed. This affects criteria for #search and #uid_search; search_keys for #sort, #thread, #uid_sort, and #uid_thread; and attr for #fetch and #uid_fetch. This vulnerability is fixed in 0.6.5 and 0.5.15.
漏洞公开时间:2026-06-23 05:16:24
漏洞创建时间:2026-08-14 15:59:18
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2026-47240

更多参考(点击展开)
参考来源 参考链接 来源链接
https://github.com/ruby/net-imap/releases/tag/v0.6.4.1
https://linux.oracle.com/errata/ELSA-2026-50828.html
https://www.cve.org/CVERecord?id=CVE-2026-47240
https://linux.oracle.com/cve/CVE-2026-47240.html
https://github.com/advisories/GHSA-8p34-64r3-mwg8
https://bugzilla.redhat.com/show_bug.cgi?id=2491519
https://github.com/ruby/net-imap/commit/e066b83a7cef47a14e41ef7f659688bf1794fa88
https://github.com/rubysec/ruby-advisory-db/blob/master/gems/net-imap/CVE-2026-47240.yml
https://nvd.nist.gov/vuln/detail/CVE-2026-47240
https://github.com/ruby/net-imap/security/advisories/GHSA-8p34-64r3-mwg8
https://linux.oracle.com/errata/ELSA-2026-50827.html

漏洞分析指导链接:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
七彩瞬析开源风险感知平台
漏洞补丁信息:

详情(点击展开)
影响的包 修复版本 修复补丁 问题引入补丁 来源
https://github.com/ruby/net-imap/commit/e066b83a7cef47a14e41ef7f659688bf1794fa88 snyk

二、漏洞分析结构反馈
影响性分析说明:
Ruby 的 Net::IMAP 库在版本 0.6.5 和 0.5.15 之前存在命令注入漏洞。虽然该库会对“原始 数据”参数进行验证以防止命令注入,但如果连接的 IMAP 服务器不支持“非同步字面量(non-synchronizing literals)”,攻击者仍可在非同步字面量中注入任意 IMAP 命令。具体来说,服务器可能将 +} r n 解释为畸形命令行的结束并返回 tagged BAD 响应,随后将字面量的内容解析为新的流水线命令,从而导致 CRLF 命令注入攻击成功。
openEuler评分:
5.8
Vector:CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
受影响版本排查(受影响/不受影响):
1.master(3.2.8):受影响
2.openEuler-20.03-LTS-SP4(2.5.8):受影响
3.openEuler-22.03-LTS-SP4(3.0.3):受影响
4.openEuler-24.03-LTS-Next(3.2.2):受影响
5.openEuler-24.03-LTS-SP1(3.2.2):受影响
6.openEuler-24.03-LTS-SP3(3.2.2):受影响
7.openEuler-24.03-LTS-SP4(3.2.2):受影响

修复是否涉及abi变化(是/否):
1.master(3.2.8):否
2.openEuler-20.03-LTS-SP4(2.5.8):否
3.openEuler-22.03-LTS-SP4(3.0.3):否
4.openEuler-24.03-LTS-Next(3.2.2):否
5.openEuler-24.03-LTS-SP1(3.2.2):否
6.openEuler-24.03-LTS-SP3(3.2.2):否
7.openEuler-24.03-LTS-SP4(3.2.2):否

原因说明:
1.master(3.2.8):正常修复
2.openEuler-20.03-LTS-SP4(2.5.8):正常修复
3.openEuler-22.03-LTS-SP4(3.0.3):正常修复
4.openEuler-24.03-LTS-Next(3.2.2):正常修复
5.openEuler-24.03-LTS-SP1(3.2.2):正常修复
6.openEuler-24.03-LTS-SP3(3.2.2):正常修复
7.openEuler-24.03-LTS-SP4(3.2.2):正常修复

likedislike
openeuler-ci-botopeneuler-ci-bot成员
17 天前 修改了issue 的描述
openeuler-ci-botopeneuler-ci-bot成员
17 天前 将 shenyangyang 设为负责人
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 评论:

issue处理注意事项:
1. 提交正常修复分支的修复PR时,必须关联当前issue,否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复;
注: 内容的关键词(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否), 原因说明)不能省略,省略后cve-manager将无法正常解析填写内容.


影响性分析说明:

openEuler评分: (评分和向量)

受影响版本排查(受影响/不受影响):
1.master(3.2.8):
2.openEuler-20.03-LTS-SP4(2.5.8):
3.openEuler-22.03-LTS-SP4(3.0.3):
4.openEuler-24.03-LTS-Next(3.2.2):
5.openEuler-24.03-LTS-SP1(3.2.2):
6.openEuler-24.03-LTS-SP3(3.2.2):
7.openEuler-24.03-LTS-SP4(3.2.2):

修复是否涉及abi变化(是/否):
1.master(3.2.8):
2.openEuler-20.03-LTS-SP4(2.5.8):
3.openEuler-22.03-LTS-SP4(3.0.3):
4.openEuler-24.03-LTS-Next(3.2.2):
5.openEuler-24.03-LTS-SP1(3.2.2):
6.openEuler-24.03-LTS-SP3(3.2.2):
7.openEuler-24.03-LTS-SP4(3.2.2):

原因说明:
1.master(3.2.8):
2.openEuler-20.03-LTS-SP4(2.5.8):
3.openEuler-22.03-LTS-SP4(3.0.3):
4.openEuler-24.03-LTS-Next(3.2.2):
5.openEuler-24.03-LTS-SP1(3.2.2):
6.openEuler-24.03-LTS-SP3(3.2.2):
7.openEuler-24.03-LTS-SP4(3.2.2):


原因说明填写请参考下方表格(注意:版本是否受影响和版本的原因说明必须对应,例如master版本分支受影响,那原因说明只能是受影响对应的原因之一!):

分支状态
原因说明 使用场景
受影响 正常修复 受影响且需要修复(包含升级版本修复)的漏洞;
受影响且已经修复的漏洞(历史修复PR也需要关联issue);
若因特殊原因无法修复,应修改原因说明为【不修复-特殊原因】,并在安委会备案相关情况。
受影响 漏洞仍在分析中 已关注到相关漏洞,正在处理,未明确漏洞影响和修复方案。
受影响 暂不修复-暂无解决方案或补丁 当前没有可用的修复或补救措施。【影响性分析】中应包含有关为什么没有修复或补救措施的详细说明、上游相关PR等。
受影响 不修复-超出修复范围 没有漏洞的修复计划。当版本停维、软件包宣布生命周期终止或弃用使用。
受影响 不修复-特殊原因导致不再修复 如存在其他特殊情况不修复相关漏洞,或评估后无法升级修复,应在openEuler社区安全委员会例会进行说明备案。
【影响性分析】中应包含不发布修复的详细说明、特殊情况还应有安委会会议纪要。
不受影响 不受影响-组件不存在 软件不受影响,因为易受攻击的组件不在产品中。
不受影响 不受影响-已有内置的内联控制或缓解措施 内置的内联控制或缓解措施可防止攻击者利用漏洞
不受影响 不受影响-漏洞代码不能被攻击者触发 易受攻击的组件存在,并且该组件包含易受攻击的代码。但是,易受攻击的代码的使用方式使得攻击者无法进行任何预期的攻击。
不受影响 不受影响-漏洞代码不在执行路径 易受影响的代码在执行过程中不可访问,包括产品的非预期状态。产品不使用也不执行的组件。
不受影响 不受影响-漏洞代码不存在 产品不受影响,因为漏洞背后的代码在产品中不存在。与component_not_present不同的是,有问题的组件存在,但由于某种原因(例如安全的编译器选项)使漏洞的特定代码不存在于组件中。

issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-botopeneuler-ci-bot成员
17 天前 添加了label:CVE/UNFIXED
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 评论:
参考网址 关联pr 状态 补丁链接
https://www.opencve.io/cve/CVE-2026-47240
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2026-47240
https://security-tracker.debian.org/tracker/CVE-2026-47240
http://www.cnnvd.org.cn/web/vulnerability/queryLds.tag?qcvCnnvdid=CVE-2026-47240
https://nvd.nist.gov/vuln/detail/CVE-2026-47240
https://ubuntu.com/security/CVE-2026-47240NoneNonehttps://discourse.ubuntu.com/c/project

说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
17 天前 评论:

@tong_1001 CVE信息从NVD同步成功, 稍后请重新加载页面.

likedislike
openeuler-ci-botopeneuler-ci-bot成员
17 天前 修改了issue 的描述
tong_1001
17 天前 评论:
tong_1001
16 天前 评论:

/branches master

likedislike
hongjinghao
16 天前 评论:

/branches master

likedislike
xiaoo_robot
xiaoo_robot
16 天前 评论:

正在自动化处理任务,任务编号:TASK-gitcode__ruby-124-20260814172200,指定分支:master

✅ 任务结束 (用时: 57分钟)

likedislike
xiaoo_robotxiaoo_robot
16 天前 关联了pull request:fix: CVE-2026-47240 - master
xiaoo_robot
xiaoo_robot
16 天前 评论:

CVE-2026-47240

是否需要修复:是
是否存在适配:是
上游社区补丁:https://github.com/ruby/net-imap/commit/7228b22b81a49198172fb111a343fef80236bbf5.patch

分支修复情况:
1.master(3.2.8): 已修复

PR:

likedislike
xiaoo_robot
xiaoo_robot
16 天前 评论:

补丁适配报告 (CVE-2026-47240)

1. backport-CVE-2026-47240.patch

  • 状态: 适配成功 (status=adapted)
  • 置信度: high
  • 冲突说明: Adapted path lib/net/imap/command_data.rb -> .bundle/gems/net-imap-0.3.8/lib/net/imap/command_data.rb (bundled gem in Ruby 3.2.8); Hunk 2 context mismatch fixed (baseline lacks '# NOTE: +num+ should already be an Integer' comment and uses put_string(num.to_s) instead of put_string(Integer(num).to_s)); inlined missing methods capabilities_cached? and capable? using @responses hash (methods do not exist in net-imap 0.3.8 baseline, verified by multi-mode grep); skipped 1 non-critical file test/net/imap/test_imap.rb (does not exist in baseline). Round-trip verified: git apply --check passed, git apply succeeded, git diff --stat shows 25 insertions, 1 deletion.
likedislike
openeuler-ci-botopeneuler-ci-bot成员
16 天前 修改了issue 的描述
tong_1001
14 天前 评论:

/assign

likedislike
openeuler-ci-botopeneuler-ci-bot成员
14 天前 将 tong_1001 设为负责人,移除负责人 shenyangyang
xiaoo_robotxiaoo_robot
14 天前 关联了pull request:fix: bundle CVE-2026-47240+CVE-2026-47241+CVE-2026-47242 - openEuler-24.03-LTS-SP4
Ttong_1001
11 天前 关联了pull request:fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
Ttong_1001
11 天前 关联了pull request:fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
Ttong_1001
10 天前 关联了pull request:fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
Ttong_1001
10 天前 关联了pull request:fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
tong_1001
10 天前 评论:

修复补丁:https://github.com/ruby/net-imap/commit/7228b22b81a49198172fb111a343fef80236bbf5

新增的non_sync_literal_allowed方法中有使用到capable?方法和capabilities_cached?方法,openEuler:ruby所有版本中不存在该方法,该方法是在提交 https://github.com/ruby/net-imap/commit/b0f8b9ea40d9a941d494eceb92938d5895210897 中引入的,假定为前置补丁1。

但是,前置补丁1中有使用到clear_responses方法和编号参数(Numbered parameters)_1.。其中,clear_responses参数是在提交 https://github.com/ruby/net-imap/commit/800edb8e09fb09bc839d35c15cce21a82190c2aa 中引入的,openEuler:ruby中均未有该方法。最重要的是,编号参数(Numbered parameters)和String#casecmp?是ruby 2.7版本才开始引入的功能,ruby 2.5.8不支持该功能。因此openEuler-20.03-LTS-SP3版本难以适配合入。

编号参数(Numbered parameters)介绍详见:
https://ruby-doc.org/core-2.7.1/Proc.html#class-Proc-label-Numbered+parameters
https://github.com/ruby/ruby/commit/03b983d54c17615e36d56d2937a685fc8c3f2cdb
https://juejin.cn/post/7158750169838649380

likedislike
tong_1001
10 天前 评论:

影响性分析说明:Ruby 的 Net::IMAP 库在版本 0.6.5 和 0.5.15 之前存在命令注入漏洞。虽然该库会对“原始 数据”参数进行验证以防止命令注入,但如果连接的 IMAP 服务器不支持“非同步字面量(non-synchronizing literals)”,攻击者仍可在非同步字面量中注入任意 IMAP 命令。具体来说,服务器可能将 +}\r\n 解释为畸形命令行的结束并返回 tagged BAD 响应,随后将字面量的内容解析为新的流水线命令,从而导致 CRLF 命令注入攻击成功。

openEuler评分:
5.8
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N

受影响版本排查(受影响/不受影响):
1.master(3.2.8):受影响
2.openEuler-20.03-LTS-SP4(2.5.8):受影响
3.openEuler-22.03-LTS-SP4(3.0.3):受影响
4.openEuler-24.03-LTS-Next(3.2.2):受影响
5.openEuler-24.03-LTS-SP1(3.2.2):受影响
6.openEuler-24.03-LTS-SP3(3.2.2):受影响
7.openEuler-24.03-LTS-SP4(3.2.2):受影响

修复是否涉及abi变化(是/否):
1.master(3.2.8):否
2.openEuler-20.03-LTS-SP4(2.5.8):否
3.openEuler-22.03-LTS-SP4(3.0.3):否
4.openEuler-24.03-LTS-Next(3.2.2):否
5.openEuler-24.03-LTS-SP1(3.2.2):否
6.openEuler-24.03-LTS-SP3(3.2.2):否
7.openEuler-24.03-LTS-SP4(3.2.2):否

原因说明:
1.master(3.2.8):正常修复
2.openEuler-20.03-LTS-SP4(2.5.8):正常修复
3.openEuler-22.03-LTS-SP4(3.0.3):正常修复
4.openEuler-24.03-LTS-Next(3.2.2):正常修复
5.openEuler-24.03-LTS-SP1(3.2.2):正常修复
6.openEuler-24.03-LTS-SP3(3.2.2):正常修复
7.openEuler-24.03-LTS-SP4(3.2.2):正常修复

likedislike
openeuler-ci-botopeneuler-ci-bot成员
10 天前 修改了issue 的描述
openeuler-ci-bot
openeuler-ci-bot成员
10 天前 评论:

@tong_1001 经过 cve-manager 解析, 已分析的内容如下表所示:

状态 分析项目 内容
已分析 1.影响性分析说明 Ruby 的 Net::IMAP 库在版本 0.6.5 和 0.5.15 之前存在命令注入漏洞。虽然该库会对“原始 数据”参数进行验证以防止命令注入,但如果连接的 IMAP 服务器不支持“非同步字面量(non-synchronizing literals)”,攻击者仍可在非同步字面量中注入任意 IMAP 命令。具体来说,服务器可能将 +}\r\n 解释为畸形命令行的结束并返回 tagged BAD 响应,随后将字面量的内容解析为新的流水线命令,从而导致 CRLF 命令注入攻击成功。
已分析 2.openEulerScore 5.8
已分析 3.openEulerVector AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
已分析 4.受影响版本排查 master:受影响,openEuler-20.03-LTS-SP4:受影响,openEuler-22.03-LTS-SP4:受影响,openEuler-24.03-LTS-Next:受影响,openEuler-24.03-LTS-SP1:受影响,openEuler-24.03-LTS-SP3:受影响,openEuler-24.03-LTS-SP4:受影响
已分析 5.是否涉及abi变化 master:否,openEuler-20.03-LTS-SP4:否,openEuler-22.03-LTS-SP4:否,openEuler-24.03-LTS-Next:否,openEuler-24.03-LTS-SP1:否,openEuler-24.03-LTS-SP3:否,openEuler-24.03-LTS-SP4:否
已分析 6.原因说明 master:正常修复,openEuler-20.03-LTS-SP4:正常修复,openEuler-22.03-LTS-SP4:正常修复,openEuler-24.03-LTS-Next:正常修复,openEuler-24.03-LTS-SP1:正常修复,openEuler-24.03-LTS-SP3:正常修复,openEuler-24.03-LTS-SP4:正常修复

请确认分析内容的准确性, 确认无误后, 您可以进行后续步骤, 否则您可以继续分析.

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
10 天前 评论:

经过cve-manager解析,部分分支PR未合入,如红色字体所示:

原因说明:
1.master:正常修复(PR未合入)
2.openEuler-20.03-LTS-SP4:正常修复(PR未合入)
3.openEuler-22.03-LTS-SP4:正常修复(PR未合入)
4.openEuler-24.03-LTS-Next:正常修复(PR未合入)
5.openEuler-24.03-LTS-SP1:正常修复(PR未合入)
6.openEuler-24.03-LTS-SP3:正常修复(PR未合入)
7.openEuler-24.03-LTS-SP4:正常修复(PR未合入)

likedislike
openeuler-ci-botopeneuler-ci-bot成员
10 天前 issue状态由 待办的 改变为 进行中
tong_1001
9 天前 评论:

Update-responses-methods-for-thread-safety.patch 中编号参数的低版本适配:
图片.png

屏幕截图 2026-08-21 170845.png

likedislike
tong_1001
9 天前 评论:

Add-cached-capabilities-capable-name-etc.patch适配:
图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

likedislike
tong_1001
7 天前 评论:

Add-cached-capabilities-capable-name-etc.patch适配:
图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

@tong_1001

String#casecmp? 方法是在 Ruby 2.4.0 版本中引入的, ruby 2.5.8是支持的,无需适配。详见:https://github.com/ruby/ruby/commit/ad619e02c465eebd15fa57dc658f8e042decdebb

likedislike
openeuler-ci-botopeneuler-ci-bot成员
7 天前 关联了pull request:[sync] PR-326: fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
openeuler-ci-botopeneuler-ci-bot成员
7 天前 关联了pull request:[sync] PR-327: fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
openeuler-ci-botopeneuler-ci-bot成员
7 天前 关联了pull request:[sync] PR-327: fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
openeuler-ci-botopeneuler-ci-bot成员
7 天前 关联了pull request:[sync] PR-327: fix CVE-2026-47240 CVE-2026-47241 CVE-2026-47242
tong_1001
6 天前 评论:

/close

likedislike
openeuler-ci-botopeneuler-ci-bot成员
6 天前 issue状态由 进行中 改变为 已完成
openeuler-ci-botopeneuler-ci-bot成员
6 天前 关闭了 issue
openeuler-ci-botopeneuler-ci-bot成员
6 天前 删除了label:CVE/UNFIXED
openeuler-ci-botopeneuler-ci-bot成员
6 天前 添加了label:CVE/FIXED