GSD-2022-31115
Vulnerability from gsd - Updated: 2022-07-05 00:00Details
### Impact
A YAML deserialization in opensearch-ruby 2.0.0 can lead to unsafe deserialization using
YAML.load if the response is of type YAML.
### Patches
The problem has been patched in opensearch-ruby gem version 2.0.2.
### Workarounds
No viable workaround. Please upgrade to 2.0.2
Aliases
Aliases
{
"GSD": {
"alias": "CVE-2022-31115",
"description": "opensearch-ruby is a community-driven, open source fork of elasticsearch-ruby. In versions prior to 2.0.1 the ruby `YAML.load` function was used instead of `YAML.safe_load`. As a result opensearch-ruby 2.0.0 and prior can lead to unsafe deserialization using YAML.load if the response is of type YAML. An attacker must be in control of an opensearch server and convince the victim to connect to it in order to exploit this vulnerability. The problem has been patched in opensearch-ruby gem version 2.0.1. Users are advised to upgrade. There are no known workarounds for this issue.",
"id": "GSD-2022-31115"
},
"gsd": {
"metadata": {
"exploitCode": "unknown",
"remediation": "unknown",
"reportConfidence": "confirmed",
"type": "vulnerability"
},
"osvSchema": {
"affected": [
{
"package": {
"ecosystem": "RubyGems",
"name": "opensearch-ruby",
"purl": "pkg:gem/opensearch-ruby"
}
}
],
"aliases": [
"CVE-2022-31115",
"GHSA-977c-63xq-cgw3"
],
"details": "### Impact\nA YAML deserialization in opensearch-ruby 2.0.0 can lead to unsafe deserialization using\nYAML.load if the response is of type YAML.\n\n### Patches\nThe problem has been patched in opensearch-ruby gem version 2.0.2.\n\n### Workarounds\nNo viable workaround. Please upgrade to 2.0.2\n",
"id": "GSD-2022-31115",
"modified": "2022-07-05T00:00:00.000Z",
"published": "2022-07-05T00:00:00.000Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3"
},
{
"type": "WEB",
"url": "https://github.com/opensearch-project/opensearch-ruby/pull/77"
},
{
"type": "WEB",
"url": "https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": 8.8,
"type": "CVSS_V3"
}
],
"summary": "Unsafe YAML deserialization in opensearch-ruby"
}
},
"namespaces": {
"cve.org": {
"CVE_data_meta": {
"ASSIGNER": "security-advisories@github.com",
"ID": "CVE-2022-31115",
"STATE": "PUBLIC",
"TITLE": "Unsafe YAML deserialization in opensearch-ruby"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "opensearch-ruby",
"version": {
"version_data": [
{
"version_value": "\u003c 2.0.1"
}
]
}
}
]
},
"vendor_name": "opensearch-project"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "opensearch-ruby is a community-driven, open source fork of elasticsearch-ruby. In versions prior to 2.0.1 the ruby `YAML.load` function was used instead of `YAML.safe_load`. As a result opensearch-ruby 2.0.0 and prior can lead to unsafe deserialization using YAML.load if the response is of type YAML. An attacker must be in control of an opensearch server and convince the victim to connect to it in order to exploit this vulnerability. The problem has been patched in opensearch-ruby gem version 2.0.1. Users are advised to upgrade. There are no known workarounds for this issue."
}
]
},
"impact": {
"cvss": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
}
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "CWE-502: Deserialization of Untrusted Data"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3",
"refsource": "CONFIRM",
"url": "https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3"
},
{
"name": "https://github.com/opensearch-project/opensearch-ruby/pull/77",
"refsource": "MISC",
"url": "https://github.com/opensearch-project/opensearch-ruby/pull/77"
},
{
"name": "https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/",
"refsource": "MISC",
"url": "https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/"
}
]
},
"source": {
"advisory": "GHSA-977c-63xq-cgw3",
"discovery": "UNKNOWN"
}
},
"github.com/rubysec/ruby-advisory-db": {
"cve": "2022-31115",
"cvss_v3": 8.8,
"date": "2022-07-05",
"description": "### Impact\nA YAML deserialization in opensearch-ruby 2.0.0 can lead to unsafe deserialization using\nYAML.load if the response is of type YAML.\n\n### Patches\nThe problem has been patched in opensearch-ruby gem version 2.0.2.\n\n### Workarounds\nNo viable workaround. Please upgrade to 2.0.2\n",
"gem": "opensearch-ruby",
"ghsa": "977c-63xq-cgw3",
"patched_versions": [
"\u003e= 2.0.2"
],
"related": {
"url": [
"https://github.com/opensearch-project/opensearch-ruby/pull/77",
"https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/"
]
},
"title": "Unsafe YAML deserialization in opensearch-ruby",
"url": "https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3"
},
"gitlab.com": {
"advisories": [
{
"affected_range": "\u003c2.0.2",
"affected_versions": "All versions before 2.0.2",
"cwe_ids": [
"CWE-1035",
"CWE-502",
"CWE-937"
],
"date": "2022-07-05",
"description": "opensearch-ruby is a community-driven, open source fork of elasticsearch-ruby. In versions prior to 2.0.1 the ruby `YAML.load` function was used instead of `YAML.safe_load`. As a result opensearch-ruby 2.0.0 and prior can lead to unsafe deserialization using YAML.load if the response is of type YAML. An attacker must be in control of an opensearch server and convince the victim to connect to it in order to exploit this vulnerability. The problem has been patched in opensearch-ruby gem version 2.0.1. Users are advised to upgrade. There are no known workarounds for this issue.",
"fixed_versions": [
"2.0.2"
],
"identifier": "CVE-2022-31115",
"identifiers": [
"GHSA-977c-63xq-cgw3",
"CVE-2022-31115"
],
"not_impacted": "All versions starting from 2.0.2",
"package_slug": "gem/opensearch-ruby",
"pubdate": "2022-07-05",
"solution": "Upgrade to version 2.0.2 or above.",
"title": "Deserialization of Untrusted Data",
"urls": [
"https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3",
"https://nvd.nist.gov/vuln/detail/CVE-2022-31115",
"https://github.com/opensearch-project/opensearch-ruby/pull/77",
"https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/",
"https://github.com/advisories/GHSA-977c-63xq-cgw3"
],
"uuid": "6ccacece-2384-460c-968e-2e3aa400183f"
},
{
"affected_range": "\u003c2.0.2",
"affected_versions": "All versions before 2.0.2",
"cvss_v2": "AV:N/AC:M/Au:N/C:P/I:P/A:P",
"cvss_v3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"cwe_ids": [
"CWE-1035",
"CWE-502",
"CWE-937"
],
"date": "2022-07-25",
"description": "opensearch-ruby is a community-driven, open source fork of elasticsearch-ruby. In versions prior to 2.0.2 the ruby `YAML.load` function was used instead of `YAML.safe_load`. As a result opensearch-ruby 2.0.0 and prior can lead to unsafe deserialization using YAML.load if the response is of type YAML. An attacker must be in control of an opensearch server and convince the victim to connect to it in order to exploit this vulnerability. The problem has been patched in opensearch-ruby gem version 2.0.2. Users are advised to upgrade. There are no known workarounds for this issue.",
"fixed_versions": [
"2.0.2"
],
"identifier": "CVE-2022-31115",
"identifiers": [
"CVE-2022-31115",
"GHSA-977c-63xq-cgw3"
],
"not_impacted": "",
"package_slug": "gem/opensearch",
"pubdate": "2022-06-30",
"solution": "Upgrade to version 2.0.2 or above.",
"title": "Deserialization of Untrusted Data",
"urls": [
"https://nvd.nist.gov/vuln/detail/CVE-2022-31115",
"https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3",
"https://github.com/opensearch-project/opensearch-ruby/pull/77",
"https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/"
],
"uuid": "9cadf4f7-95ce-44d0-8524-2d72b579321a"
}
]
},
"nvd.nist.gov": {
"configurations": {
"CVE_data_version": "4.0",
"nodes": [
{
"children": [],
"cpe_match": [
{
"cpe23Uri": "cpe:2.3:a:amazon:opensearch:*:*:*:*:*:ruby:*:*",
"cpe_name": [],
"versionEndExcluding": "2.0.2",
"vulnerable": true
}
],
"operator": "OR"
}
]
},
"cve": {
"CVE_data_meta": {
"ASSIGNER": "security-advisories@github.com",
"ID": "CVE-2022-31115"
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "en",
"value": "opensearch-ruby is a community-driven, open source fork of elasticsearch-ruby. In versions prior to 2.0.1 the ruby `YAML.load` function was used instead of `YAML.safe_load`. As a result opensearch-ruby 2.0.0 and prior can lead to unsafe deserialization using YAML.load if the response is of type YAML. An attacker must be in control of an opensearch server and convince the victim to connect to it in order to exploit this vulnerability. The problem has been patched in opensearch-ruby gem version 2.0.1. Users are advised to upgrade. There are no known workarounds for this issue."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "en",
"value": "CWE-502"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3",
"refsource": "CONFIRM",
"tags": [
"Third Party Advisory"
],
"url": "https://github.com/opensearch-project/opensearch-ruby/security/advisories/GHSA-977c-63xq-cgw3"
},
{
"name": "https://github.com/opensearch-project/opensearch-ruby/pull/77",
"refsource": "MISC",
"tags": [
"Patch",
"Third Party Advisory"
],
"url": "https://github.com/opensearch-project/opensearch-ruby/pull/77"
},
{
"name": "https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/",
"refsource": "MISC",
"tags": [
"Exploit",
"Third Party Advisory"
],
"url": "https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/"
}
]
}
},
"impact": {
"baseMetricV2": {
"acInsufInfo": false,
"cvssV2": {
"accessComplexity": "MEDIUM",
"accessVector": "NETWORK",
"authentication": "NONE",
"availabilityImpact": "PARTIAL",
"baseScore": 6.8,
"confidentialityImpact": "PARTIAL",
"integrityImpact": "PARTIAL",
"vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P",
"version": "2.0"
},
"exploitabilityScore": 8.6,
"impactScore": 6.4,
"obtainAllPrivilege": false,
"obtainOtherPrivilege": false,
"obtainUserPrivilege": false,
"severity": "MEDIUM",
"userInteractionRequired": true
},
"baseMetricV3": {
"cvssV3": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9
}
},
"lastModifiedDate": "2022-07-25T09:34Z",
"publishedDate": "2022-06-30T22:15Z"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…