CVE-2026-57113: PraisonAI template loader path traversal in cache

CVE-2026-57113 · Severity: high · CVSS 8.1 · Published 2026-10-23

PraisonAI is a multi-agent framework that loads project templates from GitHub. An attacker can craft a malicious template URI that escapes the local template cache directory, allowing them to write files or delete directories anywhere the PraisonAI process can access. This could lead to corruption of user data, application state, or system files if the process runs with elevated privileges.

Technologies: praisonai (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-57113 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-57113 being exploited in the wild.
How severe is CVE-2026-57113?
High severity, with a CVSS score of 8.1, published 23 October 2026.
Which products and versions are affected?
Mervin Praison PraisonAI 2.6.0 to before 4.6.59; praisonai (PyPI) ECOSYSTEM:introduced=2.6.0,fixed=4.6.59.
Is there a fix for CVE-2026-57113?
Yes. praisonai (PyPI): upgrade to 4.6.59 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-57113 attacked?
It is attacked over the network.
Am I affected by CVE-2026-57113?
Check whether you run Mervin Praison PraisonAI or praisonai (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • praisonai (PyPI): upgrade to 4.6.59 or later
    pip install "praisonai>=4.6.59"

Technical details

The template resolver accepts GitHub URIs with user-controlled refs (e.g., github:owner/repo/template@../../../../../../target) and passes them verbatim to the cache layer without path normalization or validation. The cache construction joins these segments into ~/.praison/cache/templates/github/<owner>/<repo>/<template>/<ref> without checking that the final path remains within the cache root. Exploitation requires the attacker to supply a URI (via CLI, config, or service input) that the user or application loads; a prior cache entry for the same owner/repo/template causes shutil.rmtree() to delete the escaped target before replacing it with metadata.

Affected products

  • Mervin Praison PraisonAI 2.6.0 to before 4.6.59

Identifiers

  • CVE-2026-57113
  • GHSA-f44v-7qgw-9gh9
  • PYSEC-2026-3509

Timeline

  • 2026-06-17: disclosed
  • 2026-06-17: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.