{"id":"CVE-2023-5245","state":"PUBLISHED","title":"Using MLeap for loading a saved model (zip archive) can lead to path traversal/arbitrary file creation and possibly remote code execution.","description":"FileUtil.extract() enumerates all zip file entries and extracts each file without validating whether file paths in the archive are outside the intended directory.\n\nWhen creating an instance of TensorflowModel using the saved_model format and an exported tensorflow model, the apply() function invokes the vulnerable implementation of FileUtil.extract().\n\nArbitrary file creation can directly lead to code execution","publishedAt":"2023-11-15T12:52:18.656Z","updatedAt":"2024-08-02T07:52:08.515Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"JFROG"},"assigner":"JFROG","products":["ml.combust.mleap.mleap-tensorflow"],"affected":[{"packageName":"ml.combust.mleap.mleap-tensorflow","versions":[{"version":"0.18.0","status":"affected","lessThan":"0.23.1","versionType":"maven"}],"collectionURL":"https://mvnrepository.com"}],"references":["https://github.com/combust/mleap/pull/866#issuecomment-1738032225","https://research.jfrog.com/vulnerabilities/mleap-path-traversal-rce-xray-532656/"],"weaknesses":["CWE-22"],"ingestedAt":"2026-10-29T20:06:42.242Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/5xxx/CVE-2023-5245.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2023-5245","state":"PUBLISHED","datePublished":"2023-11-15T12:52:18.656Z","dateUpdated":"2024-08-02T07:52:08.515Z","assignerShortName":"JFROG","assignerOrgId":"48a46f29-ae42-4e1d-90dd-c1676c1e5e6d","dateReserved":"2023-09-28T06:08:57.423Z"},"containers":{"cna":{"title":"Using MLeap for loading a saved model (zip archive) can lead to path traversal/arbitrary file creation and possibly remote code execution.","descriptions":[{"lang":"en","value":"FileUtil.extract() enumerates all zip file entries and extracts each file without validating whether file paths in the archive are outside the intended directory.\n\nWhen creating an instance of TensorflowModel using the saved_model format and an exported tensorflow model, the apply() function invokes the vulnerable implementation of FileUtil.extract().\n\nArbitrary file creation can directly lead to code execution"}],"affected":[{"packageName":"ml.combust.mleap.mleap-tensorflow","versions":[{"version":"0.18.0","status":"affected","lessThan":"0.23.1","versionType":"maven"}],"collectionURL":"https://mvnrepository.com"}],"references":[{"url":"https://github.com/combust/mleap/pull/866#issuecomment-1738032225","tags":["patch"]},{"url":"https://research.jfrog.com/vulnerabilities/mleap-path-traversal-rce-xray-532656/","tags":["third-party-advisory"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-22","description":"CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"JFROG","orgId":"48a46f29-ae42-4e1d-90dd-c1676c1e5e6d","dateUpdated":"2024-07-15T00:27:54.327Z"},"source":{"discovery":"EXTERNAL"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://github.com/combust/mleap/pull/866#issuecomment-1738032225","tags":["patch","x_transferred"]},{"url":"https://research.jfrog.com/vulnerabilities/mleap-path-traversal-rce-xray-532656/","tags":["third-party-advisory","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T07:52:08.515Z"}}]}}}