GSD-2020-10187
Vulnerability from gsd - Updated: 2020-05-02 00:00Details
Information disclosure vulnerability. Allows an attacker to see all
Doorkeeper::Application model attribute values (including secrets) after
authorizing an application to their user.
An application is vulnerable if the authorized applications controller is
enabled (GET /oauth/authorized_applications.json).
Recommended additional hardening for >= 5.1 is to enable application secrets
hashing. This would render the exposed secret useless.
Aliases
Aliases
{
"GSD": {
"alias": "CVE-2020-10187",
"description": "Doorkeeper version 5.0.0 and later contains an information disclosure vulnerability that allows an attacker to retrieve the client secret only intended for the OAuth application owner. After authorizing the application and allowing access, the attacker simply needs to request the list of their authorized applications in a JSON format (usually GET /oauth/authorized_applications.json). An application is vulnerable if the authorized applications controller is enabled.",
"id": "GSD-2020-10187"
},
"gsd": {
"metadata": {
"exploitCode": "unknown",
"remediation": "unknown",
"reportConfidence": "confirmed",
"type": "vulnerability"
},
"osvSchema": {
"affected": [
{
"package": {
"ecosystem": "RubyGems",
"name": "doorkeeper",
"purl": "pkg:gem/doorkeeper"
}
}
],
"aliases": [
"CVE-2020-10187",
"GHSA-j7vx-8mqj-cqp9"
],
"details": "Information disclosure vulnerability. Allows an attacker to see all\nDoorkeeper::Application model attribute values (including secrets) after\nauthorizing an application to their user.\n\nAn application is vulnerable if the authorized applications controller is\nenabled (GET /oauth/authorized_applications.json).\n\nRecommended additional hardening for \u003e= 5.1 is to enable application secrets\nhashing. This would render the exposed secret useless.\n",
"id": "GSD-2020-10187",
"modified": "2020-05-02T00:00:00.000Z",
"published": "2020-05-02T00:00:00.000Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9"
},
{
"type": "WEB",
"url": "https://github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": 5.5,
"type": "CVSS_V2"
},
{
"score": 5.4,
"type": "CVSS_V3"
}
],
"summary": "Doorkeeper application secret information disclosure vulnerability"
}
},
"namespaces": {
"cve.org": {
"CVE_data_meta": {
"ASSIGNER": "cve@mitre.org",
"ID": "CVE-2020-10187",
"STATE": "PUBLIC"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "n/a",
"version": {
"version_data": [
{
"version_value": "n/a"
}
]
}
}
]
},
"vendor_name": "n/a"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "Doorkeeper version 5.0.0 and later contains an information disclosure vulnerability that allows an attacker to retrieve the client secret only intended for the OAuth application owner. After authorizing the application and allowing access, the attacker simply needs to request the list of their authorized applications in a JSON format (usually GET /oauth/authorized_applications.json). An application is vulnerable if the authorized applications controller is enabled."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "n/a"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://github.com/doorkeeper-gem/doorkeeper/releases",
"refsource": "MISC",
"url": "https://github.com/doorkeeper-gem/doorkeeper/releases"
},
{
"name": "https://github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6",
"refsource": "MISC",
"url": "https://github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6"
},
{
"name": "https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9",
"refsource": "MISC",
"url": "https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9"
},
{
"name": "https://github.com/rubysec/ruby-advisory-db/pull/446",
"refsource": "MISC",
"url": "https://github.com/rubysec/ruby-advisory-db/pull/446"
}
]
}
},
"github.com/rubysec/ruby-advisory-db": {
"cve": "2020-10187",
"cvss_v2": 5.5,
"cvss_v3": 5.4,
"date": "2020-05-02",
"description": "Information disclosure vulnerability. Allows an attacker to see all\nDoorkeeper::Application model attribute values (including secrets) after\nauthorizing an application to their user.\n\nAn application is vulnerable if the authorized applications controller is\nenabled (GET /oauth/authorized_applications.json).\n\nRecommended additional hardening for \u003e= 5.1 is to enable application secrets\nhashing. This would render the exposed secret useless.\n",
"gem": "doorkeeper",
"ghsa": "j7vx-8mqj-cqp9",
"patched_versions": [
"~\u003e 5.0.3",
"~\u003e 5.1.1",
"~\u003e 5.2.5",
"\u003e= 5.3.2"
],
"related": {
"url": [
"https://github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6"
]
},
"title": "Doorkeeper application secret information disclosure vulnerability",
"unaffected_versions": [
"\u003c 5.0.0"
],
"url": "https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9"
},
"gitlab.com": {
"advisories": [
{
"affected_range": "\u003e=5.0.0 \u003c5.0.3||\u003e=5.1.0 \u003c5.1.1||\u003e=5.2.0 \u003c5.2.5||\u003e=5.3.0 \u003c5.3.2",
"affected_versions": "All versions starting from 5.0.0 before 5.0.3, all versions starting from 5.1.0 before 5.1.1, all versions starting from 5.2.0 before 5.2.5, all versions starting from 5.3.0 before 5.3.2",
"cvss_v2": "AV:N/AC:M/Au:N/C:P/I:N/A:N",
"cvss_v3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"cwe_ids": [
"CWE-1035",
"CWE-200",
"CWE-937"
],
"date": "2021-07-21",
"description": "Doorkeeper contains an information disclosure vulnerability that allows an attacker to retrieve the client secret only intended for the OAuth application owner. After authorizing the application and allowing access, the attacker simply needs to request the list of their authorized applications in a JSON format (usually GET `/oauth/authorized_applications.json`). An application is vulnerable if the authorized application controller is enabled.",
"fixed_versions": [
"5.0.3",
"5.1.1",
"5.2.5",
"5.3.2"
],
"identifier": "CVE-2020-10187",
"identifiers": [
"CVE-2020-10187",
"GHSA-j7vx-8mqj-cqp9"
],
"not_impacted": "All versions before 5.0.0, all versions starting from 5.0.3 before 5.1.0, all versions starting from 5.1.1 before 5.2.0, all versions starting from 5.2.5 before 5.3.0, all versions starting from 5.3.2",
"package_slug": "gem/doorkeeper",
"pubdate": "2020-05-04",
"solution": "Upgrade to versions 5.0.3, 5.1.1, 5.2.5, 5.3.2 or above.",
"title": "Information Exposure",
"urls": [
"https://nvd.nist.gov/vuln/detail/CVE-2020-10187"
],
"uuid": "290f5fb5-e8dd-428c-bc27-6c27c5b40ea6"
}
]
},
"nvd.nist.gov": {
"configurations": {
"CVE_data_version": "4.0",
"nodes": [
{
"children": [],
"cpe_match": [
{
"cpe23Uri": "cpe:2.3:a:doorkeeper_project:doorkeeper:*:*:*:*:*:ruby:*:*",
"cpe_name": [],
"versionEndExcluding": "5.0.3",
"versionStartIncluding": "5.0.0",
"vulnerable": true
},
{
"cpe23Uri": "cpe:2.3:a:doorkeeper_project:doorkeeper:*:*:*:*:*:ruby:*:*",
"cpe_name": [],
"versionEndExcluding": "5.1.1",
"versionStartIncluding": "5.1.0",
"vulnerable": true
},
{
"cpe23Uri": "cpe:2.3:a:doorkeeper_project:doorkeeper:*:*:*:*:*:ruby:*:*",
"cpe_name": [],
"versionEndExcluding": "5.2.5",
"versionStartIncluding": "5.2.0",
"vulnerable": true
},
{
"cpe23Uri": "cpe:2.3:a:doorkeeper_project:doorkeeper:*:*:*:*:*:ruby:*:*",
"cpe_name": [],
"versionEndExcluding": "5.3.2",
"versionStartIncluding": "5.3.0",
"vulnerable": true
}
],
"operator": "OR"
}
]
},
"cve": {
"CVE_data_meta": {
"ASSIGNER": "cve@mitre.org",
"ID": "CVE-2020-10187"
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "en",
"value": "Doorkeeper version 5.0.0 and later contains an information disclosure vulnerability that allows an attacker to retrieve the client secret only intended for the OAuth application owner. After authorizing the application and allowing access, the attacker simply needs to request the list of their authorized applications in a JSON format (usually GET /oauth/authorized_applications.json). An application is vulnerable if the authorized applications controller is enabled."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "en",
"value": "CWE-862"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6",
"refsource": "MISC",
"tags": [
"Patch",
"Third Party Advisory"
],
"url": "https://github.com/doorkeeper-gem/doorkeeper/commit/25d038022c2fcad45af5b73f9d003cf38ff491f6"
},
{
"name": "https://github.com/rubysec/ruby-advisory-db/pull/446",
"refsource": "MISC",
"tags": [
"Patch",
"Third Party Advisory"
],
"url": "https://github.com/rubysec/ruby-advisory-db/pull/446"
},
{
"name": "https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9",
"refsource": "MISC",
"tags": [
"Patch",
"Third Party Advisory"
],
"url": "https://github.com/doorkeeper-gem/doorkeeper/security/advisories/GHSA-j7vx-8mqj-cqp9"
},
{
"name": "https://github.com/doorkeeper-gem/doorkeeper/releases",
"refsource": "MISC",
"tags": [
"Release Notes",
"Third Party Advisory"
],
"url": "https://github.com/doorkeeper-gem/doorkeeper/releases"
}
]
}
},
"impact": {
"baseMetricV2": {
"acInsufInfo": false,
"cvssV2": {
"accessComplexity": "MEDIUM",
"accessVector": "NETWORK",
"authentication": "NONE",
"availabilityImpact": "NONE",
"baseScore": 4.3,
"confidentialityImpact": "PARTIAL",
"integrityImpact": "NONE",
"vectorString": "AV:N/AC:M/Au:N/C:P/I:N/A:N",
"version": "2.0"
},
"exploitabilityScore": 8.6,
"impactScore": 2.9,
"obtainAllPrivilege": false,
"obtainOtherPrivilege": false,
"obtainUserPrivilege": false,
"severity": "MEDIUM",
"userInteractionRequired": false
},
"baseMetricV3": {
"cvssV3": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6
}
},
"lastModifiedDate": "2021-07-21T11:39Z",
"publishedDate": "2020-05-04T14: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…