{"api_version":"1","generated_at":"2026-06-15T03:56:25+00:00","cve":"CVE-2021-23331","urls":{"html":"https://cve.report/CVE-2021-23331","api":"https://cve.report/api/cve/CVE-2021-23331.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-23331","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-23331"},"summary":{"title":"CVE-2021-23331","description":"This affects all versions of package com.squareup:connect. The method prepareDownloadFilecreates creates a temporary file with the permissions bits of -rw-r--r-- on unix-like systems. On unix-like systems, the system temporary directory is shared between users. As such, the contents of the file downloaded by downloadFileFromResponse will be visible to all other users on the local system. A workaround fix for this issue is to set the system property java.io.tmpdir to a safe directory as remediation. Note: This version of the SDK is end of life and no longer maintained, please upgrade to the latest version.","state":"PUBLIC","assigner":"report@snyk.io","published_at":"2021-02-03 18:15:00","updated_at":"2022-04-08 13:36:00"},"problem_types":["NVD-CWE-noinfo"],"metrics":[],"references":[{"url":"https://github.com/square/connect-java-sdk/blob/master/src/main/java/com/squareup/connect/ApiClient.java%23L613","name":"N/A","refsource":"CONFIRM","tags":["Broken Link"],"title":"","mime":"","httpstatus":"","archivestatus":""},{"url":"https://snyk.io/vuln/SNYK-JAVA-COMSQUAREUP-1065988","name":"N/A","refsource":"CONFIRM","tags":["Third Party Advisory"],"title":"Insecure Temporary File in com.squareup:connect | Snyk","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/square/connect-java-sdk/blob/master/src/main/java/com/squareup/connect/ApiClient.java#L613","name":"MISC:https://github.com/square/connect-java-sdk/blob/master/src/main/java/com/squareup/connect/ApiClient.java%23L613","refsource":"MITRE","tags":[],"title":"connect-java-sdk/ApiClient.java at master · square/connect-java-sdk · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-23331","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23331","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"LEGACY","value":"Jonathan Leitschuh","lang":""}],"nvd_cpes":[{"cve_year":"2021","cve_id":"23331","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"sencha","cpe5":"connect","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"},{"cve_year":"2021","cve_id":"23331","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"sencha","cpe5":"connect","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"},{"cve_year":"2021","cve_id":"23331","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"squareup","cpe5":"connect_java_software_development_kit","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2021-23331","qid":"982228","title":"Java (maven) Security Update for com.squareup:connect (GHSA-q4hm-fwc9-hmv6)"}]},"source_records":{"cve_program":{"data_type":"CVE","data_format":"MITRE","data_version":"4.0","CVE_data_meta":{"ASSIGNER":"report@snyk.io","DATE_PUBLIC":"2021-02-03T18:01:57.151652Z","ID":"CVE-2021-23331","STATE":"PUBLIC","TITLE":"Insecure Temporary File"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"com.squareup:connect","version":{"version_data":[{"version_affected":">=","version_value":"0"}]}}]},"vendor_name":"n/a"}]}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Insecure Temporary File"}]}]},"references":{"reference_data":[{"refsource":"MISC","url":"https://snyk.io/vuln/SNYK-JAVA-COMSQUAREUP-1065988","name":"https://snyk.io/vuln/SNYK-JAVA-COMSQUAREUP-1065988"},{"refsource":"MISC","url":"https://github.com/square/connect-java-sdk/blob/master/src/main/java/com/squareup/connect/ApiClient.java%23L613","name":"https://github.com/square/connect-java-sdk/blob/master/src/main/java/com/squareup/connect/ApiClient.java%23L613"}]},"description":{"description_data":[{"lang":"eng","value":"This affects all versions of package com.squareup:connect. The method prepareDownloadFilecreates creates a temporary file with the permissions bits of -rw-r--r-- on unix-like systems. On unix-like systems, the system temporary directory is shared between users. As such, the contents of the file downloaded by downloadFileFromResponse will be visible to all other users on the local system. A workaround fix for this issue is to set the system property java.io.tmpdir to a safe directory as remediation. Note: This version of the SDK is end of life and no longer maintained, please upgrade to the latest version."}]},"impact":{"cvss":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N/E:P/RL:W/RC:C","baseScore":4.4,"baseSeverity":"MEDIUM","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},"credit":[{"lang":"eng","value":"Jonathan Leitschuh"}]},"nvd":{"publishedDate":"2021-02-03 18:15:00","lastModifiedDate":"2022-04-08 13:36:00","problem_types":["NVD-CWE-noinfo"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":3.3,"baseSeverity":"LOW"},"exploitabilityScore":1.8,"impactScore":1.4},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:L/AC:L/Au:N/C:P/I:N/A:N","accessVector":"LOCAL","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":2.1},"severity":"LOW","exploitabilityScore":3.9,"impactScore":2.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:squareup:connect_java_software_development_kit:*:*:*:*:*:*:*:*","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"23331","Ordinal":"198058","Title":"CVE-2021-23331","CVE":"CVE-2021-23331","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"23331","Ordinal":"1","NoteData":"This affects all versions of package com.squareup:connect. The method prepareDownloadFilecreates creates a temporary file with the permissions bits of -rw-r--r-- on unix-like systems. On unix-like systems, the system temporary directory is shared between users. As such, the contents of the file downloaded by downloadFileFromResponse will be visible to all other users on the local system. A workaround fix for this issue is to set the system property java.io.tmpdir to a safe directory as remediation. Note: This version of the SDK is end of life and no longer maintained, please upgrade to the latest version.","Type":"Description","Title":null},{"CveYear":"2021","CveId":"23331","Ordinal":"2","NoteData":"2021-02-03","Type":"Other","Title":"Published"},{"CveYear":"2021","CveId":"23331","Ordinal":"3","NoteData":"2021-02-03","Type":"Other","Title":"Modified"}]}}}