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

x/vulndb: potential Go vuln in github.com/snowflakedb/gosnowflake: CVE-2023-34231 #1846

Closed
GoVulnBot opened this issue Jun 8, 2023 · 2 comments
Assignees
Labels
excluded: NOT_A_VULNERABILITY This is not a vulnerability.

Comments

@GoVulnBot
Copy link

CVE-2023-34231 references github.com/snowflakedb/gosnowflake, which may be a Go module.

Description:
gosnowflake is th Snowflake Golang driver. Prior to version 1.6.19, a command injection vulnerability exists in the Snowflake Golang driver via single sign-on (SSO) browser URL authentication. In order to exploit the potential for command injection, an attacker would need to be successful in (1) establishing a malicious resource and (2) redirecting users to utilize the resource. The attacker could set up a malicious, publicly accessible server which responds to the SSO URL with an attack payload. If the attacker then tricked a user into visiting the maliciously crafted connection URL, the user’s local machine would render the malicious payload, leading to a remote code execution. This attack scenario can be mitigated through URL whitelisting as well as common anti-phishing resources. A patch is available in version 1.6.19.

References:

Cross references:
No existing reports found with this module or alias.

See doc/triage.md for instructions on how to triage this report.

modules:
    - module: github.com/snowflakedb/gosnowflake
      packages:
        - package: gosnowflake
description: |
    gosnowflake is th Snowflake Golang driver. Prior to version 1.6.19, a command injection vulnerability exists in the Snowflake Golang driver via single sign-on (SSO) browser URL authentication. In order to exploit the potential for command injection, an attacker would need to be successful in (1) establishing a malicious resource and (2) redirecting users to utilize the resource. The attacker could set up a malicious, publicly accessible server which responds to the SSO URL with an attack payload. If the attacker then tricked a user into visiting the maliciously crafted connection URL, the user’s local machine would render the malicious payload, leading to a remote code execution. This attack scenario can be mitigated through URL whitelisting as well as common anti-phishing resources. A patch is available in version 1.6.19.
cves:
    - CVE-2023-34231
references:
    - advisory: https://github.com/snowflakedb/gosnowflake/security/advisories/GHSA-fwv2-65wh-2w8c
    - fix: https://github.com/snowflakedb/gosnowflake/pull/757
    - fix: https://github.com/snowflakedb/gosnowflake/commit/e11a2a555f1b9f7adc1f01fb7b5e7f38fbbb2a1c

@neild
Copy link
Contributor

neild commented Jun 14, 2023

I'm not clear on what the exact vulnerability here is supposed to be. The described scenario involves a user being directed to a malicious URL, at which time "the user’s local machine would render the malicious payload, leading to a remote code execution". I don't see how visiting a URL leads to code execution, unless the Snowflake driver itself is loading a page and executing code on it, which doesn't seem to be the case so far as I can tell.

If there is a vulnerability, it does not appear to be fixed in version 1.6.19, because none of the changes in that version seem like they would address this.

The linked fix (snowflakedb/gosnowflake#757) definitely does not fix any vulnerabilities, since it merely adds two functions which are not called anywhere outside of tests.

So either this isn't a vulnerability at all, or it's a vulnerability that I don't understand and there is no fix. Given that the referenced "fix" is plainly not fixing anything, I'm going to mark as not a vulnerability.

@neild neild self-assigned this Jun 14, 2023
@neild neild added the excluded: NOT_A_VULNERABILITY This is not a vulnerability. label Jun 14, 2023
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/503837 mentions this issue: data/excluded: batch add 21 excluded reports

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
excluded: NOT_A_VULNERABILITY This is not a vulnerability.
Projects
None yet
Development

No branches or pull requests

3 participants