
커뮤니티에서 유지 관리하는 Ruby 젬 및 런타임용 보안 권고 데이터베이스로, 패치된 버전이 포함된 구조화된 CVE/GHSA 데이터를 제공하여 취약점 추적 및 감사 통합을 지원합니다.
Ruby Advisory Database는 Ruby 라이브러리와 관련된 모든 보안 권고를 수집하기 위한 커뮤니티 노력입니다. 우리는 CVE, GHSA, OSVDB, cvss 또는 원본 취약점 정보와 같은 데이터를 다른 사람들이 생성할 것으로 기대합니다. 자세한 내용은 여기를 참조하세요.
[bundler-audit]를 사용하여 자신의 Gemfile.lock을 이 데이터베이스와 대조해 볼 수 있습니다.
이 데이터베이스에 등록되지 않은 취약점을 알고 계신가요? 이슈를 열거나 PR을 제출해 주세요.
이 데이터베이스는 [rubygems.org]의 Ruby 라이브러리 이름과 일치하는 디렉토리 목록으로 구성됩니다. 각 디렉토리 안에는 해당 Ruby 라이브러리에 대한 하나 이상의 보안 권고 파일이 있습니다. 이러한 보안 권고 파일은 권고의 [CVE] 또는 [GHSA] 또는 OSVDB 식별 번호를 사용하여 이름이 지정됩니다.
gems/:
actionpack/:
CVE-2014-0130.yml CVE-2014-7818.yml CVE-2014-7829.yml CVE-2015-7576.yml
CVE-2015-7581.yml CVE-2016-0751.yml CVE-2016-0752.yml
rubies/:
jruby/:
...
mruby/:
...
ruby/:
...
gems/gems/ 디렉토리에는 [rubygems.org]의 Ruby 라이브러리 이름과 일치하는 하위 디렉토리가 포함됩니다. 각 디렉토리 안에는 해당 Ruby 라이브러리에 대한 하나 이상의 보안 권고 파일이 있습니다. 이러한 보안 권고 파일은 권고의 [CVE] 또는 [GHSA] ID를 사용하여 이름이 지정됩니다.
rubies/rubies/ 디렉토리에는 각 Ruby 구현에 대한 하위 디렉토리가 포함됩니다. 각 디렉토리 안에는 해당 Ruby 구현에 대한 하나 이상의 보안 권고 파일이 있습니다. 이러한 보안 권고 파일은 권고의 [CVE] 또는 [GHSA] ID를 사용하여 이름이 지정됩니다.
각 보안 권고 파일에는 [YAML] 형식의 보안 권고 정보가 포함됩니다. 다음은 몇 가지 예시 보안 권고입니다:
gems/actionpack/CVE-2023-22795.yml---
gem: actionpack
cve: 2023-22795
ghsa: 8xww-x3g3-6jcv
url: https://github.com/rails/rails/releases/tag/v7.0.4.1
title: ReDoS based DoS vulnerability in Action Dispatch
date: 2023-01-18
description: |
There is a possible regular expression based DoS vulnerability in Action
Dispatch related to the If-None-Match header. This vulnerability has been
assigned the CVE identifier CVE-2023-22795.
Versions Affected: All
Not affected: None
Fixed Versions: 6.1.7.1, 7.0.4.1
# Impact
A specially crafted HTTP If-None-Match header can cause the regular
expression engine to enter a state of catastrophic backtracking, when on a
version of Ruby below 3.2.0. This can cause the process to use large amounts
of CPU and memory, leading to a possible DoS vulnerability All users running
an affected release should either upgrade or use one of the workarounds
immediately.
# Workarounds
We recommend that all users upgrade to one of the FIXED versions. In the
meantime, users can mitigate this vulnerability by using a load balancer or
other device to filter out malicious If-None-Match headers before they reach
the application.
Users on Ruby 3.2.0 or greater are not affected by this vulnerability.
patched_versions:
- "~> 5.2.8"
- "~> 6.1.7, >= 6.1.7.1"
- ">= 7.0.4.1"
rubies/ruby/CVE-2022-28739.yml---
engine: ruby
cve: 2022-28739
url: https://www.ruby-lang.org/en/news/2022/04/12/buffer-overrun-in-string-to-float-cve-2022-28739/
title: Buffer overrun in String-to-Float conversion
date: 2022-04-12
description: |
A buffer-overrun vulnerability is discovered in a conversion algorithm from a
String to a Float. This vulnerability has been assigned the CVE identifier
CVE-2022-28739. We strongly recommend upgrading Ruby.
Due to a bug in an internal function that converts a String to a Float, some
conversion methods like Kernel#Float and String#to_f could cause buffer
over-read. A typical consequence is a process termination due to segmentation
fault, but in a limited circumstances, it may be exploitable for illegal
memory read.
Please update Ruby to 2.6.10, 2.7.6, 3.0.4, or 3.1.2.
patched_versions:
- ~> 2.6.10
- ~> 2.7.6
- ~> 3.0.4
- '>= 3.1.2'
gemsgem [String] (필수): 영향을 받는 gem의 이름.library [String] (선택): 영향을 받는 gem이 속한 Ruby 라이브러리의 이름.framework [String] (선택): 영향을 받는 gem이 속한 프레임워크의 이름. (예: rails)platform [String] (선택): 이 취약점이 플랫폼 특정적인 경우, 이 취약점이 영향을 미치는 플랫폼의 이름 (예: jruby)cve [String] (선택): CVE(Common Vulnerabilities and Exposures) ID.osvdb [Integer] (선택): OSVDB(Open Sourced Vulnerability Database) ID.ghsa [String] (선택): GHSA(GitHub Security Advisory) ID.url [String] (필수): 전체 보안 권고에 대한 URL.title [String] (필수): 보안 권고 또는 개별 취약점의 제목. 한 줄 문장이어야 합니다.
title: 필드는 80자에서 줄 바꿈합니다.date [Date] (필수): 보안 권고의 공개 공개일.description [String] (필수): 취약점을 설명하는 하나 이상의 문단. 여러 문단을 포함할 수 있습니다.
description: |를 사용합니다.descriptions: 필드는 80자에서 줄 바꿈합니다.description: 필드에 "POC", "PoC" 또는 "Proof of Concept" 제목 섹션(대소문자 구분 없음)을 포함하지 마세요.description: 필드에 "\n" 또는 "%"를 사용하지 마세요.cvss_v2 [Float] (선택): 취약점에 대한 [CVSSv2] 점수.cvss_v3 [Float] (선택): 취약점에 대한 [CVSSv3] 점수.cvss_v4 [Float] (선택): 취약점에 대한 [CVSSv4] 점수.unaffected_versions [Array<String>] (선택): Ruby 라이브러리의 영향을 받지 않는 버전에 대한 버전 요구 사항.
unaffected_versions 버전 범위는 따옴표로 묶어야 합니다 (예: ">= 1.2.3").patched_versions [Array<String>] (선택): Ruby 라이브러리의 패치된 버전에 대한 버전 요구 사항.
patched_versions 버전 범위는 따옴표로 묶어야 합니다 (예: ">= 1.2.3").patched_versions:를 생략하세요.related [Hash<Array<String>>] (선택): 보안 권고가 여러 URL 및 기타 식별자를 참조하는 경우가 있습니다. 지원되는 키: cve, ghsa, osvdb, url
cve, ghsa, osvdb 관련 필드는 URL이 아닙니다.notes [String] (선택): 이 데이터베이스에 취약점을 포함하는 것에 대한 내부 메모.rubiesengine [ruby | mruby | jruby | truffleruby] (필수): 영향을 받는 Ruby 구현의 이름.platform [String] (선택): 이 취약점이 플랫폼 특정적인 경우, 이 취약점이 영향을 미치는 플랫폼의 이름 (예: jruby)cve [String] (선택): CVE(Common Vulnerabilities and Exposures) ID.osvdb [Integer] (선택): OSVDB(Open Sourced Vulnerability Database) ID.ghsa [String] (선택): GHSA(GitHub Security Advisory) ID.url [String] (필수): 전체 보안 권고에 대한 URL.title [String] (필수): 보안 권고 또는 개별 취약점의 제목. 한 줄 문장이어야 합니다.
title: 필드는 80자에서 줄 바꿈합니다.date [Date] (필수): 보안 권고의 공개 공개일.description [String] (필수): 취약점을 설명하는 하나 이상의 문단. 여러 문단을 포함할 수 있습니다.
description: |(|- 아님)를 사용합니다.descriptions: 필드는 80자에서 줄 바꿈합니다.description: 필드에 "\n" 또는 "%"를 사용하지 마세요.description: 필드에 "POC", "PoC" 또는 "Proof of Concept" 제목 섹션(대소문자 구분 없음)을 포함하지 마세요.cvss_v2 [Float] (선택): 취약점에 대한 [CVSSv2] 점수.cvss_v3 [Float] (선택): 취약점에 대한 [CVSSv3] 점수.cvss_v4 [Float] (선택): 취약점에 대한 [CVSSv4] 점수.unaffected_versions [Array<String>] (선택): Ruby 구현의 영향을 받지 않는 버전에 대한 버전 요구 사항.
unaffected_versions 필드는 왼쪽 여백에서 2칸 들여씁니다.* cve, ghsa, osvdb 관련 필드는 URL이 아닙니다.patched_versions [Array<String>] (선택): Ruby 구현의 패치된 버전에 대한 버전 요구 사항.
patched_versions/unaffected_versions 버전 범위는 따옴표로 묶어야 합니다 (예: ">= 1.2.3").patched_versions 필드는 왼쪽 여백에서 2칸 들여씁니다.related [Hash<Array<String>>] (선택): 보안 권고가 여러 URL 및 기타 식별자를 참조하는 경우가 있습니다. 지원되는 키: cve, ghsa, osvdb, url
cve, ghsa, osvdb 관련 필드는 URL이 아닙니다.notes [String] (선택): 이 데이터베이스에 취약점을 포함하는 것에 대한 내부 메모.url: 필드 값과 동일해야 합니다.rspec spec/schema_validation_spec.rb를 실행하세요.풀 리퀘스트를 제출하기 전에 테스트를 실행하세요:
bundle install
bundle exec rspec