Top/Articles/PraisonAI gets four more CVEs, one at 10.0, all fixes shipped
praisonai-cve-cover-en-update

PraisonAI gets four more CVEs, one at 10.0, all fixes shipped

PraisonAI, a popular tool for delegating work to AI, has five flaws including the max-severity (10.0) CVE-2026-61447. A single crafted AI instruction can run malicious code on the server and steal secrets like API keys. Past PraisonAI flaws were attacked within hours of disclosure. Update both packages now.

NewsPublished July 11, 2026Last updated Aug. 7, 2026
Table of contents
Key takeaways

PraisonAI, a popular tool for delegating work to AI, has five flaws including the max-severity (10.0) CVE-2026-61447. A single crafted AI instruction can run malicious code on the server and steal secrets like API keys. Past PraisonAI flaws were attacked within hours of disclosure. Update both packages now.

PraisonAI, a popular tool that lets AI handle research, write and run programs, and even operate a machine on your behalf, has a serious flaw that lets an attacker run malicious code on the server where the tool runs β€” simply by feeding the AI a crafted instruction β€” and steal secrets like API keys wholesale. The central identifier is CVE-2026-61447, rated the maximum severity of 10.0 out of 10. On the same day, five flaws in total were disclosed for this one product.

PraisonAI is a fast-rising framework for building AI agents (an AI agent is an AI that thinks and acts on your behalf), with more than 8,100 stars on GitHub. The headline flaw lives in the feature that lets the AI "write and run this code": the generated program is executed with no inspection at all, so slipping one malicious line into the AI's instructions is enough to take over the server. And PraisonAI has a history of repeated flaws β€” one earlier bug saw real attacks begin just 3 hours and 44 minutes after disclosure. If you use it, update to the latest version now.

The identifiers have kept coming since. Four more were added on August 5, 2026, one of them rated 10.0. All four already have fixes shipped, so if you are on the latest release you are covered. We have also corrected an error in the upgrade guidance this article originally gave β€” see the correction box below.

Update β€” August 7, 2026: four more on August 5, one rated 10.0, but every fix already shipped

On August 5, 2026, four more identifiers were assigned to PraisonAI: CVE-2026-48168 (severity 10.0), CVE-2026-55522 (7.8), CVE-2026-55523 (7.7) and CVE-2026-55524 (7.5). The conclusion first: all four already have fixes in circulation, and if you followed this article and moved to the latest release, you are done. Only the identifiers are new; the fixes themselves shipped between May and June.

CVE-2026-48168 (10.0) is not a hole in PraisonAI as you use it. It is in the automation config bundled with the repository (.github/workflows/claude.yml): an outsider could fork the repository, open a pull request from a branch whose name contains shell metacharacters, comment @claude, and get arbitrary commands executed in the automation runner. That job holds a token with write permissions, so the injection reaches as far as tampering with the repository contents. If you simply installed it with pip install, you are not affected. But if you forked PraisonAI and kept the same workflow file, check your own repository. The fix is praisonai 4.6.40, and the vendor advisory went out on May 19. The identifier took two and a half months to arrive.

CVE-2026-55522 (7.8) is in the "include" feature that lets one workflow pull in another. The included recipe's tools.py was executed directly, without honouring the explicit opt-in gates (PRAISONAI_ALLOW_LOCAL_TOOLS and friends) or routing through the safe loader. It is a variant that sidesteps the hardening applied to the previously disclosed "tools.py runs automatically" family. Fixed in praisonai 4.6.58 / praisonaiagents 1.6.58 (shipped June 13).

CVE-2026-55523 (7.7) and CVE-2026-55524 (7.5) are both SSRF in the page-fetching function web_crawl(). They exist because the fix for CVE-2026-40160, disclosed in April, was incomplete: only the URL initially supplied is checked, and redirect destinations are never revalidated. An attacker hands over a public URL that passes the check and then redirects to internal services or cloud metadata endpoints. CVE-2026-55524 adds that it also works through DNS rebinding, where the name resolution is swapped out after the check. Fixed in praisonaiagents 1.6.58.

Real-world exploitation, public PoC code and a listing in CISA's Known Exploited Vulnerabilities (KEV) catalog were all unconfirmed as of August 7, 2026 (we checked the August 6, 2026 edition of KEV, all 1,661 entries: there are no PraisonAI entries at all). The "attacked within hours of disclosure" reporting still refers to the older CVE-2026-44338 from May 2026.

Correction: our upgrade-version guidance was wrong

This article told readers to "update praisonaiagents to 1.7.3 or later." That was wrong. 1.7.3 is not a version of the Python package praisonaiagents; it is a version of the praisonai package distributed for Node.js on npm. The advisory for CVE-2026-61426 (GHSA-6wjp-v33h-5cvq) targets the npm side, and that was fixed in 1.7.3, published June 25.

On PyPI, praisonaiagents tops out at 1.6.164, published August 5, with no 1.7 line at all. Running pip install -U praisonaiagents never produces 1.7.3, so the instruction was impossible to follow from the start. Readers using only the Python packages were given an instruction they could not act on.

"Update praisonai to 4.6.78 or later" was also imprecise. The advisory says 4.6.78, but no 4.6.78 appears in the PyPI release list β€” 4.6.77 is followed by 4.6.81. In practice the first version you can install is 4.6.81.

The correct guidance is: on Python, move both packages to the current latest (praisonai 4.6.160 and praisonaiagents 1.6.164, both published August 5). On Node.js (npm), move praisonai to 1.7.3. If you use the separate praisonai-platform package, move to 0.1.9 or later. We apologise for the error.

Update β€” July 22, 2026: four more, mostly "unauthenticated by default and exposed to the network"

On July 22, 2026, four more critical PraisonAI flaws were disclosed. Most are the "no authentication by default, so anyone outside can operate it" type, rated 9.8–9.9. CVE-2026-47391 (9.8, unauthenticated): the bundled example A2A server exposes an unauthenticated endpoint and a calculator tool built on eval(), so a single request can run arbitrary Python. CVE-2026-47393 (9.8, unauthenticated): the API servers the code generator creates ship with auth off by default, leaving /chat and /agents open. CVE-2026-47396 (9.8, unauthenticated): the call server's control API has no auth when CALL_SERVER_TOKEN is unset, letting outsiders list, invoke, and unregister agents. All bind to 0.0.0.0 by default, so they are reachable remotely.

The remaining one, CVE-2026-47392 (9.9, requires login), bypasses the code-execution sandbox by reaching the real builtins via print.__self__ and runs OS commands β€” reportedly defeating every prior patch for related flaws.

The separate praisonai-platform package also got three flaws. CVE-2026-47410 (9.8, unauthenticated): the JWT signing secret is hardcoded to the default dev-secret-change-me, so in the default ("non-production") setting anyone can forge tokens and impersonate any user or admin. CVE-2026-47399 (8.8), CVE-2026-47405 (8.8), CVE-2026-47413 (9.6), and CVE-2026-47416 (9.6) are workspace-member authorization flaws letting a user touch another workspace's data or a regular member promote their own (or an attacker's) account to owner. All are fixed in praisonai-platform 0.1.4; together with the earlier CVE-2026-61442 (fixed in 0.1.9), update to 0.1.9 or later.

The fix is the same as in the article: update praisonai to 4.6.40+ (ideally the latest 4.6.78+) and praisonaiagents to 1.6.40+ (1.6.78+). You can also greatly reduce risk by setting an auth token and not exposing services on 0.0.0.0. No real-world exploitation, CISA KEV listing, or public PoC is confirmed as of July 22, 2026 β€” but PraisonAI has seen attacks begin right after disclosure, so unauthenticated, internet-exposed setups should act fastest.

Update β€” July 21, 2026: additional flaws from the same period ("five" is the main batch)

After this article was published, further checking showed the same reporter cluster of PraisonAI flaws is wider than the five covered here. At least three more are confirmed: CVE-2026-61444 (severity 9.4, code injection in deploy/api.py, fixed in praisonai 4.6.78), CVE-2026-61446 (severity 8.6, the plugin manager executes arbitrary .py files with no signing or validation, fixed in praisonaiagents 1.6.78, disclosed July 15, 2026), and CVE-2026-61442 (severity 7.1, missing authorization / privilege escalation in the separate praisonai-platform package, fixed in 0.1.9).

The fixed versions in this article (praisonai 4.6.78+ / praisonaiagents 1.6.78+) broadly cover these additions too. If you use the separate praisonai-platform package, update to 0.1.9 or later. No real-world exploitation, CISA KEV listing, or public PoC has been confirmed for any of these β€” including the additions β€” as of July 21, 2026.

What is PraisonAI

PraisonAI is a tool for linking several AIs together like a "team" to automatically handle research, planning, coding, and execution. It is open-source software published by developer Mervin Praison, marketed as "hiring a 24/7 AI workforce." Its appeal β€” running in just a few lines of code and supporting 100+ AI models β€” has made it spread quickly among developers who want to embed AI into their work. It has over 8,100 GitHub stars and once reached #2 on GitHub's trending ranking in April 2026.

On this blog we have also published a hands-on test of such agents, a record of running a 32-member AI team single-handedly. Convenient as it is, giving an AI "external tools" to do real work carries a new kind of danger. Similar flaws have been reported in Langflow, where merely opening a web page could hijack an AI agent, in the AI gateway LiteLLM, and in a connector that lets AI operate server fleets and leaked admin credentials. What sets PraisonAI apart is that it includes a top-tier "10.0" flaw.

Why it is dangerous, and how far the damage reaches

All five flaws disclosed together exploit the same weakness: through the "instructions" given to the AI or the "external data" the AI reads, the server running the tool can be operated illicitly. The most severe, CVE-2026-61447, has a hole in the feature where the AI writes and runs programs, so an attacker who mixes a crafted line into the AI's instructions can run any program on the server. This technique is called prompt injection (secretly injecting a command into the AI's prompt). The U.S. National Institute of Standards and Technology (NIST) classifies it as code injection (CWE-94).

The impact is concrete. Once arbitrary programs can run, the tool's environment variables (secret settings such as OpenAI or Anthropic API keys and database connection strings) are stolen wholesale. With your API key, an attacker can rack up huge bills using AI on your account, or pivot into connected services. A separate flaw (CVE-2026-61445) can also overwrite files and run commands, and since PraisonAI runs with administrator privileges when deployed via Docker, the server itself can be completely taken over.

The scary part is that the user need not even type the malicious instruction themselves. AI agents automatically read web pages, issue tickets, and imported documents to do their work. If an attacker plants a command inside that data, the AI mistakes it for a "work order" and executes it. AI being used for both attack and defense overlaps with the structure by which AI accelerates cyberattacks.

Who targets this hole, and what happens

The likely attackers are financially motivated actors after the API keys used for AI services and the internal systems they connect to, and scanner groups that automatically hunt disclosed flaws and try to break in indiscriminately. Tools like PraisonAI often hold the keys to multiple AI services and databases at once, making them a "key ring" that lets attackers reach many assets in a chain β€” a prize target.

The attack flow goes like this. The attacker plants a crafted instruction in advance inside web pages, documents, or tickets that the AI agent will read, and the moment the user has the AI process it, a program that steals information runs on the server. The user thinks they only asked the AI to do the usual work, yet API keys and connection details are quietly siphoned off. If PraisonAI is exposed directly to the internet, an attacker may not even need to inject instructions and can strike it directly from outside.

As a result, a targeted developer or company may have its AI service usage fees fraudulently drained, its connected internal systems and databases breached, or its server hijacked and turned into a launchpad for further attacks. The mechanism of giving AI convenient tools is spreading fast, but when those tools accept external input defenselessly, the AI itself is made to work as the attacker's henchman β€” a new risk now laid bare.

A technical look at what is happening

All five PraisonAI flaws share one root cause: AI output or external input is fed into an execution path without validation. Here they are one by one. Note that PraisonAI is split into two components (packages), praisonai and praisonaiagents, and the component to fix and the fixed version differ per flaw.

CVE-2026-61447: run arbitrary programs from an AI instruction, steal secrets (severity 10.0)

The "CodeAgent" feature that has the AI write and run programs executes the AI-generated Python directly, with no content inspection (AST validation), no restriction on dangerous calls, and no sandbox. A safety flag (sandbox=True) exists but is ignored and does nothing. Via prompt injection, an attacker makes the AI write malicious code β€” for example, a program that reads API keys from environment variables and sends them out. No login is required (no privileges needed). Affected: praisonaiagents up to 1.6.77, fixed in 1.6.78. Reported by anushkavirgaonkar.

CVE-2026-61445: file writes and command execution seize admin privileges (severity 9.9)

The "AICoder" coding-assist feature fails to validate the file save location. Mixing an absolute path into the destination bypasses the safety check (e.g. writing to a scheduled-task location like /etc/cron.d/ or SSH key files), from which any program can run. A command-execution feature also passes input through untouched, so slipping "run this command" into the AI chat makes it run on the server. According to the vendor advisory, PraisonAI runs as root under Docker, so the damage reaches the whole server. Affected: praisonai up to 4.6.77, fixed in 4.6.78.

CVE-2026-60090: injecting illicit commands into the database (severity 9.8)

The "knowledge store" feature that gives AI memory (the part using PGVector or Cassandra databases) embeds a user-derived value into the database command without validation. The "dimension" field, which should be a number, is not checked at runtime, so passing a crafted string like 3); DROP TABLE tenant_secrets; -- injects an illicit command into the database (the classic SQL/CQL injection technique), enabling data theft or deletion. According to NVD, affected: praisonai before 4.6.78, fixed in 4.6.78.

CVE-2026-61426: defenseless defaults let anyone connect to the AI (severity 8.6)

PraisonAI's default configuration itself was the problem. It opened connections on all interfaces, required no API key (passphrase), and disabled cross-site access control (CORS) by default, so if exposed to the internet, anyone could peek at the AI agent's instructions (system prompt) or run the AI without authentication. The auth middleware only activated when an API key was explicitly configured, so the empty default left every route open. This one item alone targets the praisonai package distributed for Node.js on npm: versions before 1.7.3 are affected, fixed in 1.7.3 (published June 25, 2026). The Python package praisonaiagents has no 1.7 line, so if you only use pip there is no such number to chase (we have corrected our original wording β€” see the correction box at the top). PraisonAI has previously shipped the same kind of "authentication disabled by default" flaw β€” a recurring pattern.

CVE-2026-61429: illicit access to internal networks (SSRF, severity 8.5)

The web-page fetching feature (the part using Crawl4AI / Chromium) cannot fully block a technique (SSRF) that fakes the access target to reach internal networks. By "DNS rebinding" β€” swapping DNS resolution midway β€” or by abusing redirects, an attacker can reach internal company servers or cloud internal data that should be off-limits. Affected: praisonaiagents before 1.6.78, fixed in 1.6.78.

Affected versions and remediation

The fixed versions differ per flaw, and the component to fix is split across two packages, praisonai and praisonaiagents. Updating only one does not close everything. Matching version numbers one by one is no longer worth the effort, so move both to the latest available release. As of August 5, that is 4.6.160 for praisonai and 1.6.164 for praisonaiagents.

The "fixed in" column below quotes the version stated in the vendor advisory. Note that the number in an advisory does not always exist on PyPI: praisonai 4.6.78 is one such case, where 4.6.77 is followed by 4.6.81. Aiming for the latest release is more reliable than aiming for a specific number.

IdentifierWhat it doesSeverityPackageFixed in
CVE-2026-61447Run programs
from an instruction
10.0praisonaiagents1.6.78
CVE-2026-61445File write +
command execution (root)
9.9praisonai4.6.78
CVE-2026-60090Inject illicit
database commands
9.8praisonai4.6.78
CVE-2026-61426Defenseless defaults,
anyone can connect
8.6praisonai
(npm only)
1.7.3
CVE-2026-61429Illicit access to
internal networks (SSRF)
8.5praisonaiagents1.6.78

The four identifiers assigned on August 5, 2026 are below. Fixes for all of them shipped between May and June, so running the latest release means the work is already done.

IdentifierWhat it doesSeverityPackageFixed in
(shipped)
CVE-2026-48168Command injection in
bundled automation config
(users not affected)
10.0praisonai
(repository side)
4.6.40
(May 19)
CVE-2026-55522tools.py run unchecked
via include
(bypasses prior fix)
7.8praisonai
praisonaiagents
4.6.58 / 1.6.58
(June 13)
CVE-2026-55523Redirects not revalidated,
SSRF (40160 recurrence)
7.7praisonaiagents1.6.58
(June 13)
CVE-2026-55524SSRF also works
via DNS rebinding
7.5praisonaiagents1.6.58
(June 13)

Beyond updating, it is important not to expose PraisonAI directly to the internet. Running it externally accessible lets attackers hit the defenseless defaults (CVE-2026-61426) directly. Limit it to an internal network or local environment, and if needed, always enable API-key authentication. Also narrow the external data (web pages, documents, tickets) the AI agent reads to trusted sources, to shrink the entry point for prompt injection. Such AI connectors should always be included in the scope of continuously checking the OSS supply chain (the safety of external components).

Why flaws keep recurring in PraisonAI

This is not the first time serious flaws have surfaced in PraisonAI. In May 2026, a flaw where the API server shipped with authentication disabled (CVE-2026-44338) was disclosed, and according to security firm Sysdig, a scanner began probing the hole just 3 hours and 44 minutes after the advisory went public. Earlier flaws include a severity-10.0 "sandbox escape" (CVE-2026-34938) and a bundled "nine-vulnerability cluster" advisory (RAXE-2026-050).

The four identifiers assigned on August 5 make that recurring pattern sharper still. CVE-2026-55522 walks around the hardening applied to the "tools.py runs automatically" family by coming in through the include feature instead. CVE-2026-55523 and CVE-2026-55524 are the SSRF supposedly fixed in April (CVE-2026-40160) reappearing in the same shape, because redirect destinations were never checked. None of the three is a new kind of hole; all three are leftovers from holes that were meant to be closed. The right places were patched. The patches were not thorough.

The common thread is a design habit of feeding AI output and external input into command execution, file operations, and databases without validation. The AI-agent field moves fast, tends to prioritize adding features, and easily defers input validation and privilege narrowing. Microsoft, too, warns of this danger common to AI-agent platforms, framing it as "when prompts become shells (a window for running commands)." If you use PraisonAI, make updating and privilege design a habit, on the premise that "the more convenient a new feature, the less it may yet be hardened."

What is confirmed, and what is still unknown

βœ“ Confirmed facts

  • βœ“Five flaws were disclosed for PraisonAI on the same day; the most severe, CVE-2026-61447, is rated 10.0 and allows arbitrary program execution via prompt injection (NVD)
  • βœ“The components to fix are split across praisonai and praisonaiagents, so updating only one closes nothing fully. As of August 5, 2026 the current releases are 4.6.160 and 1.6.164 (NVD)
  • βœ“Four more identifiers were assigned on August 5, 2026 (CVE-2026-48168 at 10.0, plus 55522, 55523 and 55524), and fixes for all four had already shipped between May and June (NVD)
  • βœ“PraisonAI has repeatedly had serious flaws; CVE-2026-44338 was targeted by an attack scanner 3h44m after disclosure (Sysdig)

? Not yet confirmed

  • ?As of August 7, 2026 there is still no official report that any of the flaws covered here have been exploited in real attacks
  • ?There are no PraisonAI entries at all in CISA's Known Exploited Vulnerabilities (KEV) catalog β€” we checked the August 6, 2026 edition, all 1,661 entries (check the latest KEV status here)
  • ?No public PoC code has surfaced either. CVE-2026-61447 requires coaxing the AI into producing the intended code, so a copy-and-paste exploit is less likely to circulate
  • ?Given that this product's past flaws were attacked right after disclosure, early exploitation attempts remain likely

What you can do right now

The core of remediation is clear. The top priority is to update both PraisonAI packages to the latest available version (as of August 5, that is praisonai 4.6.160 and praisonaiagents 1.6.164). pip install -U praisonai praisonaiagents lifts both at once. On Node.js (npm), move praisonai to 1.7.3; if you use the separate praisonai-platform package, move to 0.1.9 or later. Delegating work to AI is convenient, but it also means more keys are held, so a takeover does more damage.

Also, it is important to not expose it directly to the internet and to narrow the AI's privileges and the data it reads. If external access is unnecessary, limit it to a local environment and enable API-key authentication. Disable the program-execution and file-operation features if you do not need them. Do not let the AI process untrusted external data as-is. If you were already running it exposed, re-issue all API keys and database connection details you had placed in environment variables, just in case.

WhoWhat to do nowPriority
Developers using itUpdate both packages
Disable unneeded exec/file features
Top
Running it exposedRestrict to local/internal
Enable API-key auth
Top
Suspected compromiseRe-issue keys / connection info
Audit exec logs and billing
High

FAQ

Q. If I don't expose PraisonAI and use it only on my own PC, am I safe?

A. Not exposing it to the internet greatly reduces the risk of the defenseless defaults (CVE-2026-61426) being hit directly. However, the most severe CVE-2026-61447 can trigger from instructions planted in external data the AI reads (web pages, documents), so even local use is not risk-free. Always update to the latest version.

Q. How do I check my version?

A. Run pip show praisonai and pip show praisonaiagents to see each version. As of August 5 the current releases are 4.6.160 and 1.6.164. If you are short of those, assume you are affected by one of these flaws. Note that no 1.7 line exists for praisonaiagents; 1.6.164 is the latest.

Q. Why do I need to update two packages separately?

A. PraisonAI consists of two packages, praisonai and praisonaiagents, and these flaws span both. Updating only one leaves the other's hole open. Updating both to the latest is the reliable fix.

Q. Is it already being exploited?

A. As of publication, there is no official report that these five flaws have been used in real attacks, and they are not in CISA's KEV catalog. However, PraisonAI has a precedent of past flaws being attacked right after disclosure, so early targeting seems likely this time too. Updating early is safer.

In summary

This case is about PraisonAI β€” a popular tool that can be entrusted with research, coding, and even operating a machine β€” feeding AI output and external input into execution paths without proper checking, so a single instruction to the AI can take over the server. The central CVE-2026-61447 is rated 10.0, exploitable without login, and can steal secrets like API keys wholesale. Five flaws were disclosed on the same day, and the components to fix split into two.

The saving grace is that the vendor has already published fixes. Update both praisonai and praisonaiagents to the latest, avoid exposing it directly to the internet, and narrow the AI's privileges and the data it reads. Keep these basics and you close most entry points. The mechanism of giving AI tools is spreading fast, but neglect validation of the input those tools receive and the AI itself can become the attacker's henchman.

On August 5 another four identifiers arrived, one of them rated 10.0. Look at the breakdown, though, and the 10.0 concerns the repository's own automation config β€” users are not affected β€” while the other three are leftovers from earlier patches, all of them fixed back in May and June. There is no need to panic at the number. What is heavy is the other fact: the identifiers keep coming. Five on July 11, more than a dozen on July 21 and 22, four on August 5. If you are putting this product into a business workflow, an operating habit of tracking the latest release is a precondition, not an optional extra.

One more thing, recorded here as this article's own failure. Our upgrade guidance of "1.7.3 or later" was wrong, and readers using only the Python packages were handed an instruction they could not act on. The cause was quoting the version number from the advisory without checking it against what the distribution site actually ships. We have corrected it at the top. Check the version you can install, not the version that is written down. We will report again if anything new emerges.

Sources

avatar-m-1

Makoto Horikawa

Backend Engineer / AWS / Django