Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test branch #6

Open
wants to merge 140 commits into
base: main
Choose a base branch
from
Open

Test branch #6

wants to merge 140 commits into from

Conversation

DeeptiYadav1
Copy link
Owner

testpr

@github-actions
Copy link

github-actions bot commented Apr 5, 2023

{
"vulnerabilities": [
{
"id": "SNYK-RUBY-RACK-1061917",
"title": "Web Cache Poisoning",
"CVSSv3": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H/E:P/RL:U/RC:C",
"credit": [
"James Kettle"
],
"semver": {
"vulnerable": [
"<3.0.0.beta1"
]
},
"exploit": "Proof of Concept",
"fixedIn": [
"3.0.0.beta1"
],
"patches": [],
"insights": {
"triageAdvice": null
},
"language": "ruby",
"severity": "medium",
"cvssScore": 5.9,
"functions": [],
"malicious": false,
"moduleName": "rack",
"references": [
{
"url": "https://github.com/rack/rack/issues/1732",
"title": "GitHub Issue"
},
{
"url": "https://github.com/rack/rack/pull/1733",
"title": "GitHub PR"
},
{
"url": "https://snyk.io/blog/cache-poisoning-in-popular-open-source-packages/",
"title": "Web Cache Poisoning - Snyk Research Blog"
}
],
"cvssDetails": [],
"description": "## Overview\nrack is a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.\nAffected versions of this package are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.\r\n\r\n### PoC\r\n\r\n\r\nGET /?q=legitimate&utm_content=1;q=malicious HTTP/1.1\r\n\r\nHost: somesite.com\r\n\r\nUpgrade-Insecure-Requests: 1\t\t\r\n\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36\r\n\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,imag e/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate\t\t\t\r\n\r\nAccept-Language: en-US,en;q=0.9 Connection: close\t\t\t\r\n\r\n\r\nThe server sees 3 parameters here: q, utm_content and then q again. On the other hand, the proxy considers this full string: 1;q=malicious as the value of utm_content, which is why the cache key would only contain somesite.com/?q=legitimate.\n## Remediation\nUpgrade rack to version 3.0.0.beta1 or higher.\n## References\n- GitHub Issue\n- GitHub PR\n- Web Cache Poisoning - Snyk Research Blog\n",
"identifiers": {
"CVE": [],
"CWE": [
"CWE-444"
]
},
"packageName": "rack",
"proprietary": true,
"creationTime": "2021-01-18T10:54:26.146885Z",
"functions_new": [],
"alternativeIds": [],
"disclosureTime": "2020-10-13T09:05:23Z",
"packageManager": "rubygems",
"publicationTime": "2021-04-19T15:52:02.061059Z",
"modificationTime": "2022-10-23T12:38:08.074414Z",
"socialTrendAlert": false,
"severityWithCritical": "medium",
"from": [
"workspace@",
"oauth2@1.4.1",
"rack@2.2.6.4"
],
"upgradePath": [
false,
"oauth2@1.4.11",
"rack@3.0.0"
],
"isUpgradable": true,
"isPatchable": false,
"name": "rack",
"version": "2.2.6.4"
},
{
"id": "SNYK-RUBY-RAKE-552000",
"title": "Arbitrary Code Injection",
"CVSSv3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C",
"credit": [
"Katsuhiko Yoshida"
],
"semver": {
"vulnerable": [
"<12.3.3"
]
},
"exploit": "Proof of Concept",
"fixedIn": [
"12.3.3"
],
"patches": [],
"insights": {
"triageAdvice": null
},
"language": "ruby",
"severity": "high",
"cvssScore": 7.3,
"functions": [],
"malicious": false,
"moduleName": "rake",
"references": [
{
"url": "https://hackerone.com/reports/651518",
"title": "HackerOne Report"
}
],
"cvssDetails": [
{
"assigner": "Red Hat",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"cvssV3BaseScore": 6.4,
"modificationTime": "2023-03-26T14:46:53.984599Z"
},
{
"assigner": "SUSE",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L",
"cvssV3BaseScore": 5,
"modificationTime": "2022-05-03T23:28:14.634755Z"
},
{
"assigner": "NVD",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"cvssV3BaseScore": 6.4,
"modificationTime": "2022-01-03T18:09:49.967477Z"
}
],
"description": "## Overview\nrake is a Make-like program implemented in Ruby.\nAffected versions of this package are vulnerable to Arbitrary Code Injection in Rake::FileList when supplying a filename that begins with the pipe character |.\r\n\r\n## PoC by Katsuhiko Yoshida\r\n\r\n\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n% bundle exec ruby poc_rake.rb\r\n[\"poc_rake.rb\", \"Gemfile\", \"Gemfile.lock\", \"| touch evil.txt\", \"vendor\"]\r\npoc_rake.rb:6:list.egrep(/something/)\r\nError while processing 'vendor': Is a directory @ io_fillbuf - fd:7 vendor\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\nevil.txt\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n\n## Remediation\nUpgrade rake to version 12.3.3 or higher.\n## References\n- HackerOne Report\n",
"identifiers": {
"CVE": [
"CVE-2020-8130"
],
"CWE": [
"CWE-94"
],
"GHSA": [
"GHSA-jppv-gw3r-w3q8"
]
},
"packageName": "rake",
"proprietary": false,
"creationTime": "2020-02-24T16:45:23.506901Z",
"functions_new": [],
"alternativeIds": [],
"disclosureTime": "2020-02-24T16:18:39Z",
"packageManager": "rubygems",
"publicationTime": "2020-02-24T16:18:39Z",
"modificationTime": "2023-03-26T14:46:53.984599Z",
"socialTrendAlert": false,
"severityWithCritical": "high",
"from": [
"workspace@
",
"rake@11.1.2"
],
"upgradePath": [
false,
"rake@12.3.3"
],
"isUpgradable": true,
"isPatchable": false,
"name": "rake",
"version": "11.1.2"
}
],
"ok": false,
"dependencyCount": 35,
"org": "deepti.yadav",
"policy": "# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.\nversion: v1.25.0\nignore: {}\npatch: {}\n",
"isPrivate": true,
"licensesPolicy": {
"severities": {},
"orgLicenseRules": {
"AGPL-1.0": {
"licenseType": "AGPL-1.0",
"severity": "high",
"instructions": ""
},
"AGPL-3.0": {
"licenseType": "AGPL-3.0",
"severity": "high",
"instructions": ""
},
"Artistic-1.0": {
"licenseType": "Artistic-1.0",
"severity": "medium",
"instructions": ""
},
"Artistic-2.0": {
"licenseType": "Artistic-2.0",
"severity": "medium",
"instructions": ""
},
"CDDL-1.0": {
"licenseType": "CDDL-1.0",
"severity": "medium",
"instructions": ""
},
"CPOL-1.02": {
"licenseType": "CPOL-1.02",
"severity": "high",
"instructions": ""
},
"EPL-1.0": {
"licenseType": "EPL-1.0",
"severity": "medium",
"instructions": ""
},
"GPL-2.0": {
"licenseType": "GPL-2.0",
"severity": "high",
"instructions": ""
},
"GPL-3.0": {
"licenseType": "GPL-3.0",
"severity": "high",
"instructions": ""
},
"LGPL-2.0": {
"licenseType": "LGPL-2.0",
"severity": "medium",
"instructions": ""
},
"LGPL-2.1": {
"licenseType": "LGPL-2.1",
"severity": "medium",
"instructions": ""
},
"LGPL-3.0": {
"licenseType": "LGPL-3.0",
"severity": "medium",
"instructions": ""
},
"MPL-1.1": {
"licenseType": "MPL-1.1",
"severity": "medium",
"instructions": ""
},
"MPL-2.0": {
"licenseType": "MPL-2.0",
"severity": "medium",
"instructions": ""
},
"MS-RL": {
"licenseType": "MS-RL",
"severity": "medium",
"instructions": ""
},
"SimPL-2.0": {
"licenseType": "SimPL-2.0",
"severity": "high",
"instructions": ""
}
}
},
"packageManager": "rubygems",
"ignoreSettings": {
"adminOnly": false,
"reasonRequired": false,
"disregardFilesystemIgnores": false
},
"summary": "2 vulnerable dependency paths",
"remediation": {
"unresolved": [],
"upgrade": {
"oauth2@1.4.1": {
"upgradeTo": "oauth2@1.4.11",
"upgrades": [
"rack@2.2.6.4"
],
"vulns": [
"SNYK-RUBY-RACK-1061917"
]
},
"rake@11.1.2": {
"upgradeTo": "rake@12.3.3",
"upgrades": [
"rake@11.1.2"
],
"vulns": [
"SNYK-RUBY-RAKE-552000"
]
}
},
"patch": {},
"ignore": {},
"pin": {}
},
"filesystemPolicy": false,
"filtered": {
"ignore": [],
"patch": []
},
"uniqueCount": 2,
"projectName": "workspace",
"displayTargetFile": "Gemfile",
"hasUnknownVersions": false,
"path": "/github/workspace"
}

@github-actions
Copy link

github-actions bot commented Apr 6, 2023

{
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "Snyk Open Source",
"rules": [
{
"id": "SNYK-RUBY-RACK-1061917",
"shortDescription": {
"text": "Medium severity - Web Cache Poisoning vulnerability in rack"
},
"fullDescription": {
"text": "rack@2.2.6.4"
},
"help": {
"text": "",
"markdown": "* Package Manager: rubygems\n* Vulnerable module: rack\n* Introduced through: workspace@, oauth2@1.4.1 and others\n### Detailed paths\n Introduced through: workspace@* › oauth2@1.4.1 › rack@2.2.6.4\n# Overview\nrack is a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.\nAffected versions of this package are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.\r\n\r\n## PoC\r\n\r\n\r\nGET /?q=legitimate&utm_content=1;q=malicious HTTP/1.1\r\n\r\nHost: somesite.com\r\n\r\nUpgrade-Insecure-Requests: 1\t\t\r\n\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36\r\n\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,imag e/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate\t\t\t\r\n\r\nAccept-Language: en-US,en;q=0.9 Connection: close\t\t\t\r\n\r\n\r\nThe server sees 3 parameters here: q, utm_content and then q again. On the other hand, the proxy considers this full string: 1;q=malicious as the value of utm_content, which is why the cache key would only contain somesite.com/?q=legitimate.\n# Remediation\nUpgrade rack to version 3.0.0.beta1 or higher.\n# References\n- GitHub Issue\n- GitHub PR\n- Web Cache Poisoning - Snyk Research Blog\n"
},
"properties": {
"tags": [
"security",
"CWE-444",
"rubygems"
]
}
},
{
"id": "SNYK-RUBY-RAKE-552000",
"shortDescription": {
"text": "High severity - Arbitrary Code Injection vulnerability in rake"
},
"fullDescription": {
"text": "(CVE-2020-8130) rake@11.1.2"
},
"help": {
"text": "",
"markdown": "* Package Manager: rubygems\n* Vulnerable module: rake\n* Introduced through: workspace@* and rake@11.1.2\n### Detailed paths\n* Introduced through: workspace@* › rake@11.1.2\n# Overview\nrake is a Make-like program implemented in Ruby.\nAffected versions of this package are vulnerable to Arbitrary Code Injection in Rake::FileList when supplying a filename that begins with the pipe character |.\r\n\r\n# PoC by Katsuhiko Yoshida\r\n\r\n\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n% bundle exec ruby poc_rake.rb\r\n[\"poc_rake.rb\", \"Gemfile\", \"Gemfile.lock\", \"| touch evil.txt\", \"vendor\"]\r\npoc_rake.rb:6:list.egrep(/something/)\r\nError while processing 'vendor': Is a directory @ io_fillbuf - fd:7 vendor\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\nevil.txt\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n\n# Remediation\nUpgrade rake to version 12.3.3 or higher.\n# References\n- HackerOne Report\n"
},
"properties": {
"tags": [
"security",
"CWE-94",
"rubygems"
]
}
}
]
}
},
"results": [
{
"ruleId": "SNYK-RUBY-RACK-1061917",
"level": "warning",
"message": {
"text": "This file introduces a vulnerable rack package with a medium severity vulnerability."
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": "Gemfile"
},
"region": {
"startLine": 1
}
}
}
]
},
{
"ruleId": "SNYK-RUBY-RAKE-552000",
"level": "error",
"message": {
"text": "This file introduces a vulnerable rake package with a high severity vulnerability."
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": "Gemfile"
},
"region": {
"startLine": 1
}
}
}
]
}
]
}
]
}

@github-actions
Copy link

github-actions bot commented Apr 6, 2023

Tunnel 1a5b-2405-201-20-caf-5574-63e3-2550-57dd.in.ngrok.io not found (ERR_NGROK_3200) <script id="script" src="https://cdn.ngrok.com/static/js/error.js" type="text/javascript"></script>

@github-actions
Copy link

{
"vulnerabilities": [
{
"id": "SNYK-RUBY-RACK-1061917",
"title": "Web Cache Poisoning",
"CVSSv3": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H/E:P/RL:U/RC:C",
"credit": [
"James Kettle"
],
"semver": {
"vulnerable": [
"<3.0.0.beta1"
]
},
"exploit": "Proof of Concept",
"fixedIn": [
"3.0.0.beta1"
],
"patches": [],
"insights": {
"triageAdvice": null
},
"language": "ruby",
"severity": "medium",
"cvssScore": 5.9,
"functions": [],
"malicious": false,
"moduleName": "rack",
"references": [
{
"url": "https://github.com/rack/rack/issues/1732",
"title": "GitHub Issue"
},
{
"url": "https://github.com/rack/rack/pull/1733",
"title": "GitHub PR"
},
{
"url": "https://snyk.io/blog/cache-poisoning-in-popular-open-source-packages/",
"title": "Web Cache Poisoning - Snyk Research Blog"
}
],
"cvssDetails": [],
"description": "## Overview\nrack is a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.\nAffected versions of this package are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.\r\n\r\n### PoC\r\n\r\n\r\nGET /?q=legitimate&utm_content=1;q=malicious HTTP/1.1\r\n\r\nHost: somesite.com\r\n\r\nUpgrade-Insecure-Requests: 1\t\t\r\n\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36\r\n\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,imag e/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate\t\t\t\r\n\r\nAccept-Language: en-US,en;q=0.9 Connection: close\t\t\t\r\n\r\n\r\nThe server sees 3 parameters here: q, utm_content and then q again. On the other hand, the proxy considers this full string: 1;q=malicious as the value of utm_content, which is why the cache key would only contain somesite.com/?q=legitimate.\n## Remediation\nUpgrade rack to version 3.0.0.beta1 or higher.\n## References\n- GitHub Issue\n- GitHub PR\n- Web Cache Poisoning - Snyk Research Blog\n",
"epssDetails": null,
"identifiers": {
"CVE": [],
"CWE": [
"CWE-444"
]
},
"packageName": "rack",
"proprietary": true,
"creationTime": "2021-01-18T10:54:26.146885Z",
"functions_new": [],
"alternativeIds": [],
"disclosureTime": "2020-10-13T09:05:23Z",
"packageManager": "rubygems",
"publicationTime": "2021-04-19T15:52:02.061059Z",
"modificationTime": "2022-10-23T12:38:08.074414Z",
"socialTrendAlert": false,
"severityWithCritical": "medium",
"from": [
"workspace@",
"oauth2@1.4.1",
"rack@2.2.6.4"
],
"upgradePath": [
false,
"oauth2@1.4.11",
"rack@3.0.0"
],
"isUpgradable": true,
"isPatchable": false,
"name": "rack",
"version": "2.2.6.4"
},
{
"id": "SNYK-RUBY-RAKE-552000",
"title": "Arbitrary Code Injection",
"CVSSv3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C",
"credit": [
"Katsuhiko Yoshida"
],
"semver": {
"vulnerable": [
"<12.3.3"
]
},
"exploit": "Proof of Concept",
"fixedIn": [
"12.3.3"
],
"patches": [],
"insights": {
"triageAdvice": null
},
"language": "ruby",
"severity": "high",
"cvssScore": 7.3,
"functions": [],
"malicious": false,
"moduleName": "rake",
"references": [
{
"url": "https://hackerone.com/reports/651518",
"title": "HackerOne Report"
}
],
"cvssDetails": [
{
"assigner": "Red Hat",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"cvssV3BaseScore": 6.4,
"modificationTime": "2023-03-26T14:46:53.984599Z"
},
{
"assigner": "SUSE",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L",
"cvssV3BaseScore": 5,
"modificationTime": "2022-05-03T23:28:14.634755Z"
},
{
"assigner": "NVD",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"cvssV3BaseScore": 6.4,
"modificationTime": "2022-01-03T18:09:49.967477Z"
}
],
"description": "## Overview\nrake is a Make-like program implemented in Ruby.\nAffected versions of this package are vulnerable to Arbitrary Code Injection in Rake::FileList when supplying a filename that begins with the pipe character |.\r\n\r\n## PoC by Katsuhiko Yoshida\r\n\r\n\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n% bundle exec ruby poc_rake.rb\r\n[\"poc_rake.rb\", \"Gemfile\", \"Gemfile.lock\", \"| touch evil.txt\", \"vendor\"]\r\npoc_rake.rb:6:list.egrep(/something/)\r\nError while processing 'vendor': Is a directory @ io_fillbuf - fd:7 vendor\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\nevil.txt\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n\n## Remediation\nUpgrade rake to version 12.3.3 or higher.\n## References\n- HackerOne Report\n",
"epssDetails": {
"percentile": "0.34860",
"probability": "0.00086",
"modelVersion": "v2023.03.01"
},
"identifiers": {
"CVE": [
"CVE-2020-8130"
],
"CWE": [
"CWE-94"
],
"GHSA": [
"GHSA-jppv-gw3r-w3q8"
]
},
"packageName": "rake",
"proprietary": false,
"creationTime": "2020-02-24T16:45:23.506901Z",
"functions_new": [],
"alternativeIds": [],
"disclosureTime": "2020-02-24T16:18:39Z",
"packageManager": "rubygems",
"publicationTime": "2020-02-24T16:18:39Z",
"modificationTime": "2023-03-26T14:46:53.984599Z",
"socialTrendAlert": false,
"severityWithCritical": "high",
"from": [
"workspace@
",
"rake@11.1.2"
],
"upgradePath": [
false,
"rake@12.3.3"
],
"isUpgradable": true,
"isPatchable": false,
"name": "rake",
"version": "11.1.2"
}
],
"ok": false,
"dependencyCount": 35,
"org": "deepti.yadav",
"policy": "# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.\nversion: v1.25.0\nignore: {}\npatch: {}\n",
"isPrivate": true,
"licensesPolicy": {
"severities": {},
"orgLicenseRules": {
"AGPL-1.0": {
"licenseType": "AGPL-1.0",
"severity": "high",
"instructions": ""
},
"AGPL-3.0": {
"licenseType": "AGPL-3.0",
"severity": "high",
"instructions": ""
},
"Artistic-1.0": {
"licenseType": "Artistic-1.0",
"severity": "medium",
"instructions": ""
},
"Artistic-2.0": {
"licenseType": "Artistic-2.0",
"severity": "medium",
"instructions": ""
},
"CDDL-1.0": {
"licenseType": "CDDL-1.0",
"severity": "medium",
"instructions": ""
},
"CPOL-1.02": {
"licenseType": "CPOL-1.02",
"severity": "high",
"instructions": ""
},
"EPL-1.0": {
"licenseType": "EPL-1.0",
"severity": "medium",
"instructions": ""
},
"GPL-2.0": {
"licenseType": "GPL-2.0",
"severity": "high",
"instructions": ""
},
"GPL-3.0": {
"licenseType": "GPL-3.0",
"severity": "high",
"instructions": ""
},
"LGPL-2.0": {
"licenseType": "LGPL-2.0",
"severity": "medium",
"instructions": ""
},
"LGPL-2.1": {
"licenseType": "LGPL-2.1",
"severity": "medium",
"instructions": ""
},
"LGPL-3.0": {
"licenseType": "LGPL-3.0",
"severity": "medium",
"instructions": ""
},
"MPL-1.1": {
"licenseType": "MPL-1.1",
"severity": "medium",
"instructions": ""
},
"MPL-2.0": {
"licenseType": "MPL-2.0",
"severity": "medium",
"instructions": ""
},
"MS-RL": {
"licenseType": "MS-RL",
"severity": "medium",
"instructions": ""
},
"SimPL-2.0": {
"licenseType": "SimPL-2.0",
"severity": "high",
"instructions": ""
}
}
},
"packageManager": "rubygems",
"ignoreSettings": {
"adminOnly": false,
"reasonRequired": false,
"disregardFilesystemIgnores": false
},
"summary": "2 vulnerable dependency paths",
"remediation": {
"unresolved": [],
"upgrade": {
"oauth2@1.4.1": {
"upgradeTo": "oauth2@1.4.11",
"upgrades": [
"rack@2.2.6.4"
],
"vulns": [
"SNYK-RUBY-RACK-1061917"
]
},
"rake@11.1.2": {
"upgradeTo": "rake@12.3.3",
"upgrades": [
"rake@11.1.2"
],
"vulns": [
"SNYK-RUBY-RAKE-552000"
]
}
},
"patch": {},
"ignore": {},
"pin": {}
},
"filesystemPolicy": false,
"filtered": {
"ignore": [],
"patch": []
},
"uniqueCount": 2,
"projectName": "workspace",
"displayTargetFile": "Gemfile",
"hasUnknownVersions": false,
"path": "/github/workspace"
}

@github-actions
Copy link

{
"vulnerabilities": [
{
"id": "SNYK-RUBY-RACK-1061917",
"title": "Web Cache Poisoning",
"CVSSv3": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H/E:P/RL:U/RC:C",
"credit": [
"James Kettle"
],
"semver": {
"vulnerable": [
"<3.0.0.beta1"
]
},
"exploit": "Proof of Concept",
"fixedIn": [
"3.0.0.beta1"
],
"patches": [],
"insights": {
"triageAdvice": null
},
"language": "ruby",
"severity": "medium",
"cvssScore": 5.9,
"functions": [],
"malicious": false,
"moduleName": "rack",
"references": [
{
"url": "https://github.com/rack/rack/issues/1732",
"title": "GitHub Issue"
},
{
"url": "https://github.com/rack/rack/pull/1733",
"title": "GitHub PR"
},
{
"url": "https://snyk.io/blog/cache-poisoning-in-popular-open-source-packages/",
"title": "Web Cache Poisoning - Snyk Research Blog"
}
],
"cvssDetails": [],
"description": "## Overview\nrack is a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.\nAffected versions of this package are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.\r\n\r\n### PoC\r\n\r\n\r\nGET /?q=legitimate&utm_content=1;q=malicious HTTP/1.1\r\n\r\nHost: somesite.com\r\n\r\nUpgrade-Insecure-Requests: 1\t\t\r\n\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36\r\n\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,imag e/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate\t\t\t\r\n\r\nAccept-Language: en-US,en;q=0.9 Connection: close\t\t\t\r\n\r\n\r\nThe server sees 3 parameters here: q, utm_content and then q again. On the other hand, the proxy considers this full string: 1;q=malicious as the value of utm_content, which is why the cache key would only contain somesite.com/?q=legitimate.\n## Remediation\nUpgrade rack to version 3.0.0.beta1 or higher.\n## References\n- GitHub Issue\n- GitHub PR\n- Web Cache Poisoning - Snyk Research Blog\n",
"epssDetails": null,
"identifiers": {
"CVE": [],
"CWE": [
"CWE-444"
]
},
"packageName": "rack",
"proprietary": true,
"creationTime": "2021-01-18T10:54:26.146885Z",
"functions_new": [],
"alternativeIds": [],
"disclosureTime": "2020-10-13T09:05:23Z",
"packageManager": "rubygems",
"publicationTime": "2021-04-19T15:52:02.061059Z",
"modificationTime": "2022-10-23T12:38:08.074414Z",
"socialTrendAlert": false,
"severityWithCritical": "medium",
"from": [
"workspace@",
"oauth2@1.4.1",
"rack@2.2.6.4"
],
"upgradePath": [
false,
"oauth2@1.4.11",
"rack@3.0.0"
],
"isUpgradable": true,
"isPatchable": false,
"name": "rack",
"version": "2.2.6.4"
},
{
"id": "SNYK-RUBY-RAKE-552000",
"title": "Arbitrary Code Injection",
"CVSSv3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C",
"credit": [
"Katsuhiko Yoshida"
],
"semver": {
"vulnerable": [
"<12.3.3"
]
},
"exploit": "Proof of Concept",
"fixedIn": [
"12.3.3"
],
"patches": [],
"insights": {
"triageAdvice": null
},
"language": "ruby",
"severity": "high",
"cvssScore": 7.3,
"functions": [],
"malicious": false,
"moduleName": "rake",
"references": [
{
"url": "https://hackerone.com/reports/651518",
"title": "HackerOne Report"
}
],
"cvssDetails": [
{
"assigner": "Red Hat",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"cvssV3BaseScore": 6.4,
"modificationTime": "2023-03-26T14:46:53.984599Z"
},
{
"assigner": "SUSE",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L",
"cvssV3BaseScore": 5,
"modificationTime": "2022-05-03T23:28:14.634755Z"
},
{
"assigner": "NVD",
"severity": "medium",
"cvssV3Vector": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"cvssV3BaseScore": 6.4,
"modificationTime": "2022-01-03T18:09:49.967477Z"
}
],
"description": "## Overview\nrake is a Make-like program implemented in Ruby.\nAffected versions of this package are vulnerable to Arbitrary Code Injection in Rake::FileList when supplying a filename that begins with the pipe character |.\r\n\r\n## PoC by Katsuhiko Yoshida\r\n\r\n\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n% bundle exec ruby poc_rake.rb\r\n[\"poc_rake.rb\", \"Gemfile\", \"Gemfile.lock\", \"| touch evil.txt\", \"vendor\"]\r\npoc_rake.rb:6:list.egrep(/something/)\r\nError while processing 'vendor': Is a directory @ io_fillbuf - fd:7 vendor\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\nevil.txt\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n\n## Remediation\nUpgrade rake to version 12.3.3 or higher.\n## References\n- HackerOne Report\n",
"epssDetails": {
"percentile": "0.34890",
"probability": "0.00086",
"modelVersion": "v2023.03.01"
},
"identifiers": {
"CVE": [
"CVE-2020-8130"
],
"CWE": [
"CWE-94"
],
"GHSA": [
"GHSA-jppv-gw3r-w3q8"
]
},
"packageName": "rake",
"proprietary": false,
"creationTime": "2020-02-24T16:45:23.506901Z",
"functions_new": [],
"alternativeIds": [],
"disclosureTime": "2020-02-24T16:18:39Z",
"packageManager": "rubygems",
"publicationTime": "2020-02-24T16:18:39Z",
"modificationTime": "2023-03-26T14:46:53.984599Z",
"socialTrendAlert": false,
"severityWithCritical": "high",
"from": [
"workspace@
",
"rake@11.1.2"
],
"upgradePath": [
false,
"rake@12.3.3"
],
"isUpgradable": true,
"isPatchable": false,
"name": "rake",
"version": "11.1.2"
}
],
"ok": false,
"dependencyCount": 35,
"org": "deepti.yadav",
"policy": "# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.\nversion: v1.25.0\nignore: {}\npatch: {}\n",
"isPrivate": true,
"licensesPolicy": {
"severities": {},
"orgLicenseRules": {
"AGPL-1.0": {
"licenseType": "AGPL-1.0",
"severity": "high",
"instructions": ""
},
"AGPL-3.0": {
"licenseType": "AGPL-3.0",
"severity": "high",
"instructions": ""
},
"Artistic-1.0": {
"licenseType": "Artistic-1.0",
"severity": "medium",
"instructions": ""
},
"Artistic-2.0": {
"licenseType": "Artistic-2.0",
"severity": "medium",
"instructions": ""
},
"CDDL-1.0": {
"licenseType": "CDDL-1.0",
"severity": "medium",
"instructions": ""
},
"CPOL-1.02": {
"licenseType": "CPOL-1.02",
"severity": "high",
"instructions": ""
},
"EPL-1.0": {
"licenseType": "EPL-1.0",
"severity": "medium",
"instructions": ""
},
"GPL-2.0": {
"licenseType": "GPL-2.0",
"severity": "high",
"instructions": ""
},
"GPL-3.0": {
"licenseType": "GPL-3.0",
"severity": "high",
"instructions": ""
},
"LGPL-2.0": {
"licenseType": "LGPL-2.0",
"severity": "medium",
"instructions": ""
},
"LGPL-2.1": {
"licenseType": "LGPL-2.1",
"severity": "medium",
"instructions": ""
},
"LGPL-3.0": {
"licenseType": "LGPL-3.0",
"severity": "medium",
"instructions": ""
},
"MPL-1.1": {
"licenseType": "MPL-1.1",
"severity": "medium",
"instructions": ""
},
"MPL-2.0": {
"licenseType": "MPL-2.0",
"severity": "medium",
"instructions": ""
},
"MS-RL": {
"licenseType": "MS-RL",
"severity": "medium",
"instructions": ""
},
"SimPL-2.0": {
"licenseType": "SimPL-2.0",
"severity": "high",
"instructions": ""
}
}
},
"packageManager": "rubygems",
"ignoreSettings": {
"adminOnly": false,
"reasonRequired": false,
"disregardFilesystemIgnores": false
},
"summary": "2 vulnerable dependency paths",
"remediation": {
"unresolved": [],
"upgrade": {
"oauth2@1.4.1": {
"upgradeTo": "oauth2@1.4.11",
"upgrades": [
"rack@2.2.6.4"
],
"vulns": [
"SNYK-RUBY-RACK-1061917"
]
},
"rake@11.1.2": {
"upgradeTo": "rake@12.3.3",
"upgrades": [
"rake@11.1.2"
],
"vulns": [
"SNYK-RUBY-RAKE-552000"
]
}
},
"patch": {},
"ignore": {},
"pin": {}
},
"filesystemPolicy": false,
"filtered": {
"ignore": [],
"patch": []
},
"uniqueCount": 2,
"projectName": "workspace",
"displayTargetFile": "Gemfile",
"hasUnknownVersions": false,
"path": "/github/workspace"
}

@github-actions
Copy link

{
"id": "SNYK-RUBY-RACK-1061917",
"moduleName": "rack",
"title": "Web Cache Poisoning",
"fixedIn": [
"3.0.0.beta1"
],
"severity": "medium",
"cvssScore": 5.9,
"from": [
"workspace@",
"oauth2@1.4.1",
"rack@2.2.6.4"
],
"thirdUrl": "rack/rack#1732"
}
{
"id": "SNYK-RUBY-RAKE-552000",
"moduleName": "rake",
"title": "Arbitrary Code Injection",
"fixedIn": [
"12.3.3"
],
"severity": "high",
"cvssScore": 7.3,
"from": [
"workspace@
",
"rake@11.1.2"
],
"thirdUrl": "https://hackerone.com/reports/651518"
}

@github-actions
Copy link

{
"id": "SNYK-RUBY-RACK-1061917",
"moduleName": "rack",
"title": "Web Cache Poisoning",
"description": "## Overview\nrack is a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.\nAffected versions of this package are vulnerable to Web Cache Poisoning by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.\r\n\r\n### PoC\r\n\r\n\r\nGET /?q=legitimate&utm_content=1;q=malicious HTTP/1.1\r\n\r\nHost: somesite.com\r\n\r\nUpgrade-Insecure-Requests: 1\t\t\r\n\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36\r\n\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,imag e/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate\t\t\t\r\n\r\nAccept-Language: en-US,en;q=0.9 Connection: close\t\t\t\r\n\r\n\r\nThe server sees 3 parameters here: q, utm_content and then q again. On the other hand, the proxy considers this full string: 1;q=malicious as the value of utm_content, which is why the cache key would only contain somesite.com/?q=legitimate.\n## Remediation\nUpgrade rack to version 3.0.0.beta1 or higher.\n## References\n- GitHub Issue\n- GitHub PR\n- Web Cache Poisoning - Snyk Research Blog\n",
"severity": "medium",
"cvssScore": 5.9,
"from": [
"workspace@",
"oauth2@1.4.1",
"rack@2.2.6.4"
],
"Url": "rack/rack#1732",
"fixedIn": [
"3.0.0.beta1"
]
}
{
"id": "SNYK-RUBY-RAKE-552000",
"moduleName": "rake",
"title": "Arbitrary Code Injection",
"description": "## Overview\nrake is a Make-like program implemented in Ruby.\nAffected versions of this package are vulnerable to Arbitrary Code Injection in Rake::FileList when supplying a filename that begins with the pipe character |.\r\n\r\n## PoC by Katsuhiko Yoshida\r\n\r\n\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n% bundle exec ruby poc_rake.rb\r\n[\"poc_rake.rb\", \"Gemfile\", \"Gemfile.lock\", \"| touch evil.txt\", \"vendor\"]\r\npoc_rake.rb:6:list.egrep(/something/)\r\nError while processing 'vendor': Is a directory @ io_fillbuf - fd:7 vendor\r\n% ls -1\r\nGemfile\r\nGemfile.lock\r\nevil.txt\r\npoc_rake.rb\r\nvendor\r\n| touch evil.txt\r\n\n## Remediation\nUpgrade rake to version 12.3.3 or higher.\n## References\n- HackerOne Report\n",
"severity": "high",
"cvssScore": 7.3,
"from": [
"workspace@
",
"rake@11.1.2"
],
"Url": "https://hackerone.com/reports/651518",
"fixedIn": [
"12.3.3"
]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant