Skip to content

Commit 54ed92c

Browse files
authored
Merge pull request #2735 from ytjmt/ja-cve-2021-41817
Translate "CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods" (ja)
2 parents deef62d + fca1542 commit 54ed92c

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
layout: news_post
3+
title: "CVE-2021-41817: 日付をパースするメソッドにおける正規表現 Denial of Service の脆弱性について"
4+
author: "mame"
5+
translator: "ytjmt"
6+
date: 2021-11-15 08:00:00 +0000
7+
tags: security
8+
lang: ja
9+
---
10+
11+
日付をパースするメソッドにおける正規表現 Denial of Service(ReDoS)脆弱性の修正を含む、date gem 3.2.1、3.1.2、3.0.2、2.0.1 をリリースしました。攻撃者はこの脆弱性を悪用し、効果的な DoS 攻撃を引き起こすことができます。
12+
13+
## 詳細
14+
15+
`Date.parse` を含む、日付をパースするメソッドの内部では正規表現を利用しており、これらには ReDoS 攻撃に対して脆弱なものがあります。信頼できない入力値に対してこれらのメソッドを適用しているアプリケーションおよびライブラリはこの脆弱性の影響を受ける可能性があります。
16+
17+
この修正では、正規表現を変更するのではなく、入力値をデフォルトで 128 バイトまでに制限するようにしています。date gem は多くの正規表現を利用しており、脆弱性のある正規表現が他にも潜んでいる可能性があるためです。互換性のため、`Date.parse(str, limit: nil)` のように、`limit``nil` を明示的に渡すことでこの制限を除外することができますが、パースに時間がかかる可能性があることに留意してください。
18+
19+
date gem を 3.2.1、3.1.2、3.0.2、2.0.1 かそれ以降のバージョンにアップデートしてください。`gem update date` でアップデートできます。もし bundler を使っている場合は、`Gemfile``gem "date", ">= 3.2.1"` を追加してください。
20+
21+
## 影響を受けるバージョン
22+
23+
* date gem 2.0.0 およびそれ以前のバージョン(Ruby 2.6 系列にバンドルされているバージョン)
24+
* date gem 3.0.1 およびそれ以前のバージョン(Ruby 2.7 系列にバンドルされているバージョン)
25+
* date gem 3.1.1 およびそれ以前のバージョン(Ruby 3.0 系列にバンドルされているバージョン)
26+
* date gem 3.2.0 およびそれ以前のバージョン
27+
28+
## クレジット
29+
30+
この脆弱性情報は、[svalkanov](https://github.com/SValkanov/) 氏によって報告されました。
31+
32+
## 更新履歴
33+
34+
* 2021-11-15 17:00:00 (JST) 初版

0 commit comments

Comments
 (0)