Security Digest · Vulnerability record

CVE-2026-61445: PraisonAI: AICoder Arbitrary File Write and Command Execution via LLM Tool Calls

PraisonAI before 4.6.78 contains arbitrary file write and command execution vulnerabilities in the AICoder component due to missing path validation and command sanitization in LLM tool calls.

CVSS 9.4 Critical EPSS 0.9% · p59

Should you act?

Critical, preconditions apply

Severe if exploited, but exploitation needs conditions that may not apply to you. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.

  • Not in CISA KEV, but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
  • EPSS 0.9%, percentile 59: FIRST’s model estimates a 0.9% chance of exploitation activity in the next 30 days, higher than 59% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
  • Needs an account (low (any account)). Exposure depends on who can log in.
  • Only applies if your dependency tree includes praisonai (PyPI) <= 4.6.77, fixed in 4.6.78. Check your lockfile, including transitive dependencies.

What it is

PraisonAI before 4.6.78 contains arbitrary file write and command execution vulnerabilities in the AICoder component due to missing path validation and command sanitization in LLM tool calls. Attackers can inject malicious prompts through the chat interface to write files to arbitrary filesystem locations and execute arbitrary shell commands with root privileges.

From the GitHub advisory

Summary The AICoder UI component exposes writetofile and executecommand tools to the LLM with no path validation and no command sanitization. An attacker can achieve arbitrary file write to any location on the filesystem (including /root/.ssh/authorizedkeys, /etc/crontab) and arbitrary command execution through prompt injection in the chat interface. Docker containers run as root, maximizing impact.

Details

Path Traversal in writetofile

src/praisonai/praisonai/ui/components/aicoder.py (lines 122-131):

The applyllmresponse method at line 269 uses os.path.join which does not prevent absolute paths:

Weakness type: CWE-22, CWE-78.

Product: praisonai (PyPI) · Assigned by: VulnCheck · Published: 2026-07-11

Affected and fixed versions

EcosystemPackageVulnerableFirst fixed
PyPIpraisonai<= 4.6.774.6.78
VendorProductAffected versions (per CVE record)
MervinPraisonPraisonAI< 4.6.78

Severity scores

Scored byCVSSScoreVector
VulnCheck4.09.4 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
VulnCheck3.19.9 CriticalCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
GitHub3.19.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
  • Attack vector: network (remotely reachable)
  • Attack complexity: low
  • Attack requirements: none
  • Privileges required: low (any account)
  • User interaction: none

CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.

Exploitation and urgency

  • CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
  • CISA SSVC assessment: exploitation poc, automatable no, technical impact total.
  • FIRST EPSS (model of 2026-10-21): 0.88% probability of exploitation activity in the next 30 days; percentile 59.

Timeline

  • — CVE record published by VulnCheck
  • — CVE record last updated
  • — GitHub-reviewed advisory GHSA-9mp3-24cc-77mg published (critical)

Sources and references

Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.

Vendor and project advisories, patches

  1. GitHub Security Advisory (GHSA-9mp3-24cc-77mg) github.com

Vulnerability records

  1. GitHub Advisory GHSA-9mp3-24cc-77mg github.com
  2. CVE.org record CVE-2026-61445 cve.org
  3. NVD entry CVE-2026-61445 nvd.nist.gov

Other references from the CVE record and advisory

  1. VulnCheck Advisory: PraisonAI before 4.6.78 Arbitrary File Write and Command Execution vulncheck.com

Critical PyPI advisories · Today’s Security Digest