{"id":"CVE-2026-57113","published":"2026-10-23T13:17:10.373","lastModified":"2026-10-23T15:17:33.910","description":"PraisonAI is a multi-agent teams system. From version 2.6.0 to before version 4.6.59, PraisonAI's template loader accepts GitHub template URIs with refs, for example github:owner/repo/template@v1.0.0. The resolver stores the user-controlled template path and ref verbatim, and the cache layer later joins those values into ~/.praison/cache/templates/github/<owner>/<repo>/<template>/<ref> without normalizing each segment or checking that the final path remains inside the template cache root. A crafted ref such as ../../../../../../outside-delete-target therefore escapes the cache directory. The first load can write .cache_meta.json outside the cache. If the normal cache hierarchy for the same owner/repo/template has already been created, the same path reaches shutil.rmtree(cache_path) and removes an attacker-selected outside directory before replacing it with cache metadata. This issue has been patched in version 4.6.59.","cvssScore":8.1,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H","cwes":["CWE-22","CWE-73"],"vendors":[],"products":[],"references":[{"url":"https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-f44v-7qgw-9gh9","tags":[]}],"exploitRefs":[{"url":"https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-f44v-7qgw-9gh9","tags":[]}],"hasPoc":true,"ai":null}