diff --git a/ko/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/ko/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md new file mode 100644 index 0000000000..1cdfe4fddd --- /dev/null +++ b/ko/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -0,0 +1,37 @@ +--- +layout: news_post +title: "CVE-2021-41817: 날짜 구문 분석 메서드의 정규표현식 서비스 거부(DoS) 취약점" +author: "mame" +translator: "yous" +date: 2021-11-15 08:00:00 +0000 +tags: security +lang: ko +--- + +date gem의 날짜 구문 분석 메서드에 정규표현식 서비스 거부(ReDoS) 취약점이 있어, 해당 취약점의 보안 수정을 포함한 3.2.1, 3.1.2, 3.0.2, 2.0.1 버전을 릴리스했습니다. 공격자는 이 취약점을 이용해 유효한 DoS 공격을 수행할 수 있습니다. +이 취약점은 CVE 번호 [CVE-2021-41817](https://nvd.nist.gov/vuln/detail/CVE-2021-41817)에 할당되었습니다. + +## 세부 내용 + +`Date.parse`를 포함한 Date의 구문 분석 메서드는 내부적으로 정규표현식을 사용하고, 그중 일부는 정규표현식 서비스 거부 공격에 취약합니다. 신뢰할 수 없는 입력에 해당 메서드를 적용 중인 애플리케이션 및 라이브러리는 영향을 받을 수 있습니다. + +이 수정은 정규표현식을 변경하는 대신 기본 입력 길이를 128 바이트로 제한합니다. 이는 Date gem이 많은 정규표현식을 사용하고 있고, 아직 발견되지 않은 취약한 정규표현식이 있을 수 있기 때문입니다. 호환성을 위해 `Date.parse(str, limit: nil)` 등으로 `limit` 키워드에 `nil`을 명시적으로 넘겨 제한을 없앨 수 있습니다. 하지만 구문 분석에 오랜 시간이 걸릴 수 있게 됩니다. + +date gem을 3.2.1, 3.1.2, 3.0.2, 2.0.1 이상 버전으로 업데이트하시기 바랍니다. `gem update date`를 사용해 업데이트할 수 있습니다. bundler를 사용한다면, `Gemfile`에 `gem "date", ">= 3.2.1"`을 추가하세요. +다른 방법으로 Ruby 3.0.3, 2.7.5, 2.6.9 이상 버전으로 업데이트할 수도 있습니다. + +## 해당 버전 + +* date gem 2.0.0 이하 (Ruby 2.6.9 이하의 Ruby 2.6 버전대에 포함된 버전) +* date gem 3.0.1 이하 (Ruby 2.7.5 이하의 Ruby 2.7 버전대에 포함된 버전) +* date gem 3.1.1 이하 (Ruby 3.0.3 이하의 Ruby 3.0 버전대에 포함된 버전) +* date gem 3.2.0 이하 + +## 도움을 준 사람 + +이 문제를 발견해 준 [svalkanov](https://github.com/SValkanov/)에게 감사를 표합니다. + +## 수정 이력 + +* 2021-11-15 08:00:00 (UTC) 최초 공개 +* 2021-11-24 13:20:00 (UTC) 새 Ruby 릴리스 언급