Skip to main content
← All vulnerabilities
CVE-2026-57113EUVD-2026-108889PYSEC-2026-3509GHSA-F44V-7QGW-9GH9

PraisonAI GitHub template cache path traversal allows outside-cache file write and directory deletion

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.6.59
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

PraisonAI, a multi-agent teams system, is affected in its GitHub template loading and caching component. A crafted template reference can cause it to write files and delete directories outside its intended cache folder, potentially removing data the attacker chooses on the host system.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • MervinPraison PraisonAI

    From 2.6.0 · fixed in 4.6.59

  • praisonaiPyPI

    From 2.6.0 · fixed in 4.6.59

References 1

GitHub · MervinPraison/PraisonAI