Skip to main content

PraisonAI CVE-2026-57143

| EUVDEUVD-2026-97773 HIGH
Improper Input Validation (CWE-20)
2026-10-12 GitHub_M GHSA-4pcv-mg8v-vrgf PYSEC-2026-3530
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Plant prompt injection in ingested content
  2. Delivery
    Agent LLM processes malicious instructions
  3. Exploit
    LLM invokes search_web with internal searxng_url
  4. Execution
    Server fetches internal/cloud-metadata endpoint
  5. Persist
    Response JSON returned into agent context
  6. Impact
    IAM credentials/internal data exfiltrated

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires: (1) a PraisonAI agent running with the default tool profile that includes search_web/searxng_search (the vulnerable sink); (2) the agent ingesting attacker-controlled content - a web page, file, or upstream tool output - containing prompt-injection instructions; and (3) the LLM being induced to invoke the tool with an attacker-supplied searxng_url whose scheme/host/port/resolved-address are unvalidated (praisonaiagents < 1.6.62). Limiting factors: the attack is gated by UI:R because it depends on an agent actually processing malicious content and the model complying with the injected tool call; cloud-metadata/IAM credential theft further requires deployment in a cloud environment where 169.254.169.254 is reachable, and internal-service reads require SSRF-reachable internal targets.

Impact

This is a genuine, actionable risk for anyone running PraisonAI as an autonomous or semi-autonomous agent. The CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L, base 8.8) aligns well with the SSRF primitive described: network-reachable, low complexity, no authentication, scope changed (the agent server pivots to other internal systems), with high confidentiality impact from reading internal services and cloud-metadata (169.254.169.254) credentials. The one signal tempering raw severity is UI:R - exploitation depends on an agent ingesting attacker-controlled content, so it is not a direct unauthenticated hit on a listening service but a prompt-injection-mediated attack. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no public exploit identified at time of analysis; this is a disclosure-driven priority rather than a confirmed in-the-wild threat. The real-world weight comes from the fact that search_web/searxng_search are in the DEFAULT tool profile, making the sink reachable in typical deployments without special configuration - that makes it a real priority for PraisonAI operators even absent exploitation telemetry. Note a version inconsistency across sources (see confidence_notes) that should be verified before remediation.

Exploit ScenarioDerived

An attacker plants prompt-injection instructions in content an agent will ingest (a web page, a document, or upstream tool output). When the LLM processes that content it is steered into calling the default search_web/searxng_search tool with an attacker-chosen searxng_url such as http://169.254.169.254/latest/meta-data/iam/security-credentials/, and the server dutifully fetches it and feeds the JSON response back into agent context, exposing internal services or cloud IAM credentials. No public exploit was identified at time of analysis, but the attack requires no authentication and only low complexity given the tool is enabled by default.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Server-side request forgery in the SearxNG-backed search tools shipped with the praisonaiagents Python package before 1.6.62 lets prompt-injected content hijack the agent's outbound HTTP requests and read the responses back into the model's context, enabling internal service and API disclosure plus internal host/port enumeration. The vulnerable sink is the LLM-exposed searxng_url tool parameter, which is forwarded to requests.get() without any validation of scheme, host, port, or resolved address; search_web and searxng_search are part of the default agent tool profile, so any agent that ingests attacker-controlled web pages, files, or upstream tool output is in scope. The CVSS vector is AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L (8.8) - no authentication is needed (PR:N), but exploitation depends on the agent actually processing malicious content and the model complying with the injected tool call (UI:R); confidential impact is high while integrity and availability impact are low. No public exploit identified at time of analysis; in cloud deployments the same primitive can reach the instance metadata endpoint (169.254.169.254) and potentially expose IAM credentials, though that requires the instance metadata service to be reachable from the agent's network position.

RemediationAI

Vendor-released patch: praisonaiagents 1.6.62 - upgrade with pip install -U "praisonaiagents>=1.6.62" and, where the praisonai wrapper or its container images are used, move to praisonai>=4.6.62 (the Dockerfiles in commit 2a855c470077c7d2e2479a575f7ef7f548d51c33 are updated accordingly); see GHSA-4pcv-mg8v-vrgf and the v4.6.62 release tag. If immediate upgrade is not possible, the highest-value compensating control is to stop exposing the vulnerable tools: remove search_web and searxng_search from the agent tool profile (or replace them with a fixed alternative search backend) so the LLM can never supply searxng_url - the trade-off is loss of agent web-search capability. A wrapper or fork that validates the URL before requests.get() is equivalent in effect to the upstream fix but must reject non-http(s) schemes and block loopback, private, link-local, multicast, and unspecified resolved addresses, re-resolving at request time to guard against DNS rebinding; the patched code performs these checks in tools/url_safety.py. If you accept localhost search, do not broaden SEARXNG_URL_ALLOWLIST beyond the endpoints you actually run, and never set ALLOW_LOCAL_CRAWL=true in a multi-tenant or otherwise untrusted-content-processing agent, since both settings re-open the SSRF path (the built-in allowlist for localhost/127.0.0.1/::1 also permits any port on those hosts, so local-only port probing remains possible). In cloud deployments, additionally block egress from the agent workload to 169.254.169.254 via network policy or enforce IMDSv2 with a short token hop limit - this limits credential theft but does not prevent reads of other internal HTTP/JSON services, which still need network segmentation. Finally, treat agent-ingested content as untrusted input and consider requiring human approval for outbound network tools, at the cost of reduced autonomy.

Affected VersionsENISA

praisonaiagents < 1.6.62

Affected Packages

pypi praisonaiagents fix: 1.6.61, 1.6.62

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is tracked as CWE-20 (Improper Input Validation) even though the practical weakness class is server-side request forgery: user- and model-controllable input is used to construct a URL with no scheme, host, port, or IP-address restrictions. In src/praisonai-agents/praisonaiagents/tools/searxng_tools.py the searxng_search() function defaults to http://localhost:32768/search but accepts an arbitrary searxng_url argument that is passed straight into requests.get(url, params=params, timeout=10); the unified dispatcher in tools/web_search.py (_search_searxng, and the public search_web() entry point which forwards the parameter) repeats the identical unvalidated pattern. What makes this reachable rather than merely latent is the tool plumbing: the tool-schema generator exposes every function parameter to the model (only self/*args/**kwargs are skipped, llm/llm.py:5968), and search_web is registered in the default tool profile (tools/profiles.py:68), so a prompt-injected instruction can supply an attacker-chosen searxng_url. The practical result is a blind-to-semi-blind SSRF primitive: the server-side request is issued by the agent process, distinct responses let an attacker distinguish open from closed internal ports, returned JSON is fed back into agent context, and in cloud environments the link-local metadata address 169.254.169.254 becomes requestable. The vendor fix introduces tools/url_safety.py with is_safe_http_url()/validate_searxng_url(), which parses the URL, permits only http/https, allows configured hostnames via the SEARXNG_URL_ALLOWLIST environment variable (defaulting to include localhost, 127.0.0.1 and ::1), and otherwise resolves the hostname with socket.getaddrinfo() and rejects loopback, private, link-local, multicast, and unspecified addresses; an ALLOW_LOCAL_CRAWL=true escape hatch and the allowlist can re-enable the risky behavior by configuration. Note that because the allowlist check precedes IP resolution, hosts on the built-in allowlist remain usable on any port, so localhost-only probing is not fully eliminated by the patch.

Know when Praisonaiagents gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L
vuln.today AI 8.8 HIGH

Network-reachable prompt-injection SSRF needs no auth (PR:N) but depends on the agent ingesting malicious content (UI:R); server pivots to internal systems (S:C) and reads metadata/IAM data (C:H, I:L/A:L).

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
Low

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 21:03 EUVD
CVE Published
Oct 12, 2026 - 18:48 cve.org
HIGH 8.8

DescriptionCVE.org

PraisonAI is a multi-agent teams system. Prior to praisonaiagents 1.6.62, searxng_search and the search_web SearxNG provider pass the LLM-controlled searxng_url parameter directly to requests.get without validating its scheme, host, port, or resolved address. Prompt-injected content can direct the default search tool to internal JSON services, distinguish open and closed internal ports, and attempt cloud-metadata requests, with returned JSON results entering agent context. This issue is fixed in praisonaiagents 1.6.62.

Technical POC Analysis

CWE-20 (Improper Input Validation), scored by the advisory alongside CWE-918 (SSRF).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The praisonaiagents Python package (releases prior to 1.6.62) exposes server-side request forgery through its default search tool profile, allowing attacker-injected content to redirect an AI agent's outbound HTTP requests and read internal responses back into the model's context. Any business unit deploying these agents against untrusted web pages, files, or third-party tool output can leak internal APIs, service responses, and network topology to whoever controls that content. With no vendor-released patch identified at time of analysis, this is an active exposure requiring immediate containment at the configuration and network layers rather than reliance on a software fix.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis, so containment is configuration- and network-based: remove search_web and searxng_search from the default agent tool profile and stop exposing the searxng_url parameter to the model; restrict agent egress through an allowlisted proxy limited to the approved SearxNG endpoint; block outbound traffic to private, loopback, link-local, and cloud metadata ranges; enforce DNS resolution pinning; add scheme, host, port, and resolved-address validation on the tool parameter; apply prompt-injection filtering to all ingested web, file, and upstream tool content; and treat unpatched agents as untrusted for processing attacker-controllable input until a fixed release is available and deployed.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source multi-agent AI framework, limited production footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55530 MEDIUM POC
6.1 Aug 25

Unauthorized filesystem mutation in praisonaiagents allows an LLM-controlled agent to rewrite arbitrary on-disk source f

CVE-2026-57123 CRITICAL
9.8 Sep 14

Unauthenticated tool invocation and potential remote code execution in PraisonAI Agents (praisonaiagents) before 1.6.59,

CVE-2026-57125 CRITICAL
9.8 Sep 14

Unauthenticated remote code execution in the PraisonAI multi-agent framework lets any network-reachable caller run arbit

CVE-2026-57118 CRITICAL
9.8 Oct 12

Unauthenticated remote agent enumeration and invocation in PraisonAI's AgentTeam.launch() / Agents.launch() HTTP server

CVE-2026-40288 CRITICAL
9.8 Apr 14

Arbitrary command and code execution in PraisonAI's workflow engine (versions <4.5.139) and praisonaiagents (<1.5.140) a

CVE-2026-40111 CRITICAL
9.3 Apr 09

Command injection in PraisonAIAgents memory hooks executor allows authenticated local attackers to execute arbitrary she

CVE-2026-40289 CRITICAL
9.1 Apr 14

Unauthenticated remote session hijacking in PraisonAI's browser bridge (versions <4.5.139) and praisonaiagents (<1.5.140

CVE-2026-44339 HIGH
8.6 May 08

Remote attackers can invoke arbitrary application callables in PraisonAI multi-agent systems by manipulating tool-call n

CVE-2026-40287 HIGH
8.4 Apr 14

Arbitrary Python code execution in PraisonAI ≤4.5.138 occurs when malicious tools.py files are automatically imported fr

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy