File tree Expand file tree Collapse file tree 2 files changed +93
-0
lines changed Expand file tree Collapse file tree 2 files changed +93
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ layout : news_post
3
+ title : " CVE-2024-27280: StringIO 中的缓存过读漏洞"
4
+ author : " hsbt"
5
+ translator : " GAO Jun"
6
+ date : 2024-03-21 4:00:00 +0000
7
+ tags : security
8
+ lang : zh_cn
9
+ ---
10
+
11
+ 我们发布了包含缓存过读漏洞补丁的 StringIO gem 版本 3.0.1.1 和 3.0.1.2。
12
+ 此漏洞的 CVE 编号为 [ CVE-2024 -27280] ( https://www.cve.org/CVERecord?id=CVE-2024-27280 ) .
13
+
14
+ ## 详情
15
+
16
+ 在 StringIO 3.0.1 中发现了一个问题,在 Ruby 3.0.x 中影响至 3.0.6,在 3.1.x 中影响至 3.1.4。
17
+
18
+ StringIO 中的 ` ungetbyte ` 和 ` ungetc ` 方法能够读取超过字符串结尾的内容,如果后续调用 ` StringIO.gets ` 能返回内存数据。
19
+
20
+ 此漏洞不会影响 StringIO 3.0.3 及之后版本,不会影响 Ruby 3.2.x 及之后版本。
21
+
22
+ ## 建议操作
23
+
24
+ 我们建议将 StringIO gem 更新到 3.0.3 或后续版本。 为确保与旧版 Ruby 中的绑定版本兼容,您可以按照下面的方式进行更新:
25
+
26
+ * Ruby 3.0:更新 ` stringio ` 至 3.0.1.1
27
+ * Ruby 3.1:更新 ` stringio ` 至 3.0.1.2
28
+
29
+ 注意:StringIO 3.0.1.2 不仅包含了本问题的补丁,也包含了 [[ Bug #19389 ]] ( https://github.com/ruby/ruby/commit/1d24a931c458c93463da1d5885f33edef3677cc2 ) 的补丁。
30
+
31
+ 您可以通过 ` gem update stringio ` 进行更新。如果您使用 bundler,请在您的 ` Gemfile ` 中增加 ` gem "stringio", ">= 3.0.1.2" ` 。
32
+
33
+ ## 受影响版本
34
+
35
+ * Ruby 3.0.6 或更低版本
36
+ * Ruby 3.1.4 或更低版本
37
+ * StringIO gem 3.0.2 或更低版本
38
+
39
+ ## 致谢
40
+
41
+ 感谢 [ david_h1] ( https://hackerone.com/david_h1?type=user ) 发现此问题。
42
+
43
+ ## 历史
44
+
45
+ * 最初发布于 2024-03-21 4:00:00 (UTC)
Original file line number Diff line number Diff line change
1
+ ---
2
+ layout : news_post
3
+ title : " CVE-2024-27281: RDoc 中 .rdoc_options 的 RCE 漏洞"
4
+ author : " hsbt"
5
+ translator : " GAO Jun"
6
+ date : 2024-03-21 4:00:00 +0000
7
+ tags : security
8
+ lang : zh_cn
9
+ ---
10
+
11
+ 我们发布了包含 RCE 漏洞补丁的 RDoc gem 版本 6.3.4.1, 6.4.1.1, 6.5.1.1 和 6.6.3.1。
12
+ 此漏洞的 CVE 编号为 [ CVE-2024 -27281] ( https://www.cve.org/CVERecord?id=CVE-2024-27281 ) .
13
+
14
+ ## 详情
15
+
16
+ 在 RDoc 6.3.3 至 6.6.2 中发现了一个问题,影响了 Ruby 3.x 至 3.3.0。
17
+
18
+ 当解析 YAML 格式的 ` .rdoc_options ` 文件时(用于 RDoc 配置),由于对恢复的类没有限制,可能导致对象注入和由此产生的远程代码执行。
19
+
20
+ 当载入文档缓存时,如果存在特制的缓存,对象注入和由此产生的远程代码执行也可能存在。
21
+
22
+ ## 建议操作
23
+
24
+ 我们建议将 RDoc gem 更新到 6.6.3.1 或后续版本。 为确保与旧版 Ruby 中的绑定版本兼容,您可以按照下面的方式进行更新:
25
+
26
+ * Ruby 3.0:更新 ` rdoc ` 至 6.3.4.1
27
+ * Ruby 3.1:更新 ` rdoc ` 至 6.4.1.1
28
+ * Ruby 3.2:更新 ` rdoc ` 至 6.5.1.1
29
+
30
+ 您可以通过 ` gem update rdoc ` 进行更新。如果您使用 bundler,请在您的 ` Gemfile ` 中增加 ` gem "rdoc", ">= 6.6.3.1 ` 。
31
+
32
+ 注意: 6.3.4, 6.4.1, 6.5.1 和 6.6.3 中的补丁不正确。我们建议更新到 6.3.4.1, 6.4.1.1, 6.5.1.1 和 6.6.3.1。
33
+
34
+ ## 受影响版本
35
+
36
+ * Ruby 3.0.6 或更低版本
37
+ * Ruby 3.1.4 或更低版本
38
+ * Ruby 3.2.3 或更低版本
39
+ * Ruby 3.3.0
40
+ * RDoc gem 6.3.3 或更低版本, 6.4.0 至 6.6.2 (除已修正版本 6.3.4,6.4.1, 6.5.1)
41
+
42
+ ## 致谢
43
+
44
+ 感谢 [ ooooooo_q] ( https://hackerone.com/ooooooo_q?type=user ) 发现此问题。
45
+
46
+ ## 历史
47
+
48
+ * 最初发布于 2024-03-21 4:00:00 (UTC)
You can’t perform that action at this time.
0 commit comments