{"id":"CVE-2026-86597","kind":"vulnerability","aliases":["CVE-2026-86597","GHSA-qqj6-54q6-cxv6","GO-2026-6665"],"related":[],"title":"Snowflake Go Driver writes sensitive information to logs in github.com/snowflakedb/gosnowflake","description":"Insertion of sensitive information into log files in the Snowflake Python, Go, JDBC, Node.js, PHP PDO, and ODBC drivers allowed authentication tokens, query-result encryption keys, pre-signed cloud-storage URLs, and SAML assertions to be written to diagnostic logs in circumstances where the available log redaction did not cover all affected log paths and data types. An attacker with read access to the log destination, whether the local filesystem, a log aggregation service, or a CI/CD artifact store, could obtain credentials and decryption keys that, if still valid at the time of access, could be used to authenticate to the corresponding Snowflake account or cloud-storage object. Successful exploitation requires read access to the log destination, and impact is bounded by credential lifetime and object scope. The fix is available in Snowflake Connector for Python v4.7.3, Snowflake Go Driver v2.2.0, Snowflake JDBC Driver v4.3.4 (including the snowflake-jdbc-fips and snowflake-jdbc-thin), Snowflake Node.js Driver v3.3.0, Snowflake PHP PDO Driver v4.2.0, and Snowflake ODBC Driver v3.20.0. Users must manually upgrade and should securely delete previously generated diagnostic logs containing sensitive information where retention is not required.","summary":"The Snowflake Go driver writes sensitive values such as authentication tokens, query-result encryption keys, pre-signed cloud storage URLs and SAML assertions into diagnostic logs when redaction misses some log paths. Anyone who can read those log files can reuse the credentials while they remain valid.","severity":"medium","cvss":6.5,"epss":0.00089,"exploited":false,"exploited_at":null,"products":[{"name":"github.com/snowflakedb/gosnowflake","fixed":[],"affected":"all versions","ecosystem":"go"},{"name":"github.com/snowflakedb/gosnowflake/v2","fixed":["2.2.0"],"affected":"< 2.2.0","ecosystem":"go"}],"ecosystems":["go"],"tags":["ci-cd","data-pipelines","go","package","snowflake"],"not_affected_if":["default-logging","no-debug-logs"],"how_to_check":"Check whether go.mod pins github.com/snowflakedb/gosnowflake/v2 below 2.2.0 or github.com/snowflakedb/gosnowflake at any version (the unversioned module is listed as affected with no fix).\nSearch existing diagnostic or driver log files for token, SAML or presigned URL strings if debug logging was ever enabled.","fix":"Upgrade github.com/snowflakedb/gosnowflake/v2 to 2.2.0 or later.\nDelete previously generated diagnostic logs that contain sensitive data where retention is not required; rotate any credentials that may have been logged.","status":"open","published_at":"2026-09-08T09:18:21+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T21:46:06+00:00","updated_at":"2026-10-23T21:46:06+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T21:46:06Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade github.com/snowflakedb/gosnowflake/v2 to 2.2.0 or later.\nDelete previously generated diagnostic logs that contain sensitive data where retention is not required; rotate any credentials that may have been logged.","reach":"local","impact":"high","summary":"The Snowflake Go driver writes sensitive values such as authentication tokens, query-result encryption keys, pre-signed cloud storage URLs and SAML assertions into diagnostic logs when redaction misses some log paths. Anyone who can read those log files can reuse the credentials while they remain valid.","category":"package","who_cares":["go","snowflake","data-pipelines","ci-cd"],"confidence":0.8,"needs_auth":"yes","worst_case":"Attacker with log read access reuses tokens or keys to access Snowflake","analyst_note":"Confirm whether the unversioned github.com/snowflakedb/gosnowflake module has any fixed release, via https://pkg.go.dev/vuln/GO-2026-6665.","how_to_check":"Check whether go.mod pins github.com/snowflakedb/gosnowflake/v2 below 2.2.0 or github.com/snowflakedb/gosnowflake at any version (the unversioned module is listed as affected with no fix).\nSearch existing diagnostic or driver log files for token, SAML or presigned URL strings if debug logging was ever enabled.\nunknown for whether the unversioned gosnowflake module has a fixed release.","needs_analyst":true,"not_affected_if":["default-logging","no-debug-logs"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000622,"input_tokens":3309,"output_tokens":582,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,22A,25A '-6665':23A '-86597':15A,26A '/snowflakedb/gosnowflake':12A,29A '/snowflakedb/gosnowflake/v2':32A '54q6':19A 'access':155C,187C,207C 'account':197C 'affect':145C 'aggreg':166C 'allow':110C 'anyon':76B 'artifact':171C 'assert':66B,127C 'attack':152C 'authent':51B,111C,192C 'avail':138C,225C 'bound':215C 'cd':35B 'ci':34B 'ci-cd':33B 'ci/cd':170C 'circumst':135C 'cloud':61B,122C,200C 'cloud-storag':121C,199C 'connector':228C 'contain':277C 'correspond':195C 'could':173C,188C 'cover':143C 'credenti':86B,175C,217C 'cve':13A,24A 'cxv6':20A 'data':37B,149C 'data-pipelin':36B 'decrypt':177C 'delet':272C 'destin':159C,211C 'diagnost':68B,132C,275C 'driver':3A,45B,109C,234C,238C,253C,258C,263C 'encrypt':56B,116C 'exploit':204C 'file':82B,97C 'filesystem':163C 'fip':245C 'fix':223C 'generat':274C 'ghsa':17A 'ghsa-qqj6-54q6-cxv6':16A 'github.com':11A,28A,31A 'github.com/snowflakedb/gosnowflake':10A,27A 'github.com/snowflakedb/gosnowflake/v2':30A 'go':2A,21A,39B,44B,102C,233C 'impact':213C 'includ':240C 'inform':6A,94C,279C 'insert':91C 'jdbc':103C,237C,244C,249C 'key':57B,117C,178C 'lifetim':218C 'local':162C 'log':8A,69B,74B,81B,96C,133C,139C,146C,158C,165C,210C,276C 'manual':267C 'miss':72B 'must':266C 'node.js':104C,252C 'object':202C,220C 'obtain':174C 'odbc':108C,262C 'packag':40B 'path':75B,147C 'pdo':106C,257C 'php':105C,256C 'pipelin':38B 'pre':59B,119C 'pre-sign':58B,118C 'previous':273C 'python':101C,230C 'qqj6':18A 'queri':54B,114C 'query-result':53B,113C 'read':79B,154C,206C 'redact':71B,140C 'remain':89B 'requir':205C,284C 'result':55B,115C 'retent':281C 'reus':84B 'saml':65B,126C 'scope':221C 'secur':271C 'sensit':5A,47B,93C,278C 'servic':167C 'sign':60B,120C 'snowflak':1A,41B,43B,100C,196C,227C,232C,236C,243C,248C,251C,255C,261C 'snowflake-jdbc-fip':242C 'snowflake-jdbc-thin':247C 'still':181C 'storag':62B,123C,201C 'store':172C 'success':203C 'thin':250C 'time':185C 'token':52B,112C 'type':150C 'upgrad':268C 'url':63B,124C 'use':190C 'user':265C 'v2.2.0':235C 'v3.20.0':264C 'v3.3.0':254C 'v4.2.0':259C 'v4.3.4':239C 'v4.7.3':231C 'valid':90B,182C 'valu':48B 'whether':160C 'write':4A,46B 'written':130C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-08T09:18:21+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","cvss_by":"412d305a-227d-44f9-a262-a31ba44f2aea","poc_count":0,"sources":[{"source":"govuln","external_id":"GO-2026-6665","url":"https://pkg.go.dev/vuln/GO-2026-6665","severity":null,"published_at":"2026-10-07T14:10:51+00:00","modified_at":"2026-10-07T14:10:51+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-86597","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-86597","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-86597","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-86597","severity":null,"published_at":"2026-09-08T09:18:21+00:00","modified_at":"2026-09-10T16:18:03+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}