Skip to main content

PraisonAI EUVDEUVD-2026-65499

| CVE-2026-55526 HIGH
Reliance on Reverse DNS Resolution for a Security-Critical Action (CWE-350)
2026-08-25 GitHub_M GHSA-x44h-65qv-cw74
8.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low privileges to PraisonAI agent
  2. Delivery
    Supply crafted nip.io loopback URL as fetch target
  3. Exploit
    SSRF filter passes hostname without DNS resolution
  4. Execution
    Agent issues HTTP request to internal loopback service
  5. Persist
    Internal service response returned to attacker
  6. Impact
    Exfiltrate credentials or sensitive internal data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication DNS-independent verification
Exploitation Conditions

The attacker must have low-privileged access sufficient to supply a URL to a PraisonAI agent that invokes one of the affected LLM-callable tools: scrape_page, extract_links, crawl, or extract_text - all registered as default agent tools via tools/__init__.py lines 51-55. The target must be running praisonaiagents prior to version 1.6.58. No non-default configuration is required; the vulnerable code path is active by default whenever spider_tools are loaded. Exploitation is bounded to reading internal HTTP services reachable on loopback or private network addresses from the host running praisonaiagents - it does not inherently grant code execution. The integrity impact is limited to HTTP GET semantics unless internal services accept state-changing GET requests.

Impact

The CVSS 8.5 score is well-supported: the network attack vector (AV:N), low complexity (AC:L), and low-privilege requirement (PR:L) combine with a scope change (S:C) that elevates the effective impact beyond the praisonaiagents process to internal network services. The high confidentiality rating (C:H) is credible given that internal service responses - potentially including cloud instance metadata, internal API credentials, or microservice data - are returned directly to the attacker. No EPSS data was provided in the input, and this CVE is not listed in CISA KEV, so wide automated exploitation has not been confirmed; however, the GHSA advisory documents a live proof-of-concept requiring zero external infrastructure, which dramatically lowers the exploitation bar compared to a theoretical flaw. The PR:L metric accurately reflects that an attacker must have some access to instruct a PraisonAI agent; unauthenticated exploitation is not indicated by the CVSS vector. The integrity impact is correctly rated low (I:L) since HTTP GET semantics do not inherently mutate state, though internal services accepting state-changing GETs would extend that impact. Operators with sensitive services on loopback or RFC-1918 addresses should prioritize patching regardless of the absence of a KEV listing, given the trivial exploitation technique and confirmed proof-of-concept.

Exploit ScenarioDerived

An attacker with low-privileged access to a PraisonAI deployment - for example, a user who can supply prompts to an agent using the scrape_page or crawl tools - provides a URL such as http://127.0.0.1.nip.io:8080/admin/config. The SSRF filter in _host_is_blocked() treats '127.0.0.1.nip.io' as an ordinary hostname, fails to resolve it, and returns False, permitting the HTTP request to proceed to the local service; the GHSA advisory confirms this exact scenario with a live exploit requiring no external infrastructure. The agent returns the internal service response to the attacker, potentially exposing secrets, API keys, or cloud metadata credentials.

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 – Aug 25, 2026

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users route agent web-fetching functions to internal HTTP services by supplying hostnames - such as 127.0.0.1.nip.io - that pass the static IP blocklist in spider_tools._host_is_blocked() because the function never performs DNS resolution before validation. The affected functions scrape_page, extract_links, crawl, and extract_text are registered as default LLM-callable agent tools, so any agent prompted to retrieve a user-supplied URL will trigger this path; a live proof-of-concept is documented in the GitHub Security Advisory (GHSA-x44h-65qv-cw74), confirming that publicly available exploit code exists. The CVSS scope change (S:C) and high confidentiality impact (C:H) reflect real ability to exfiltrate responses from internal services such as cloud metadata endpoints or localhost-bound APIs.

RemediationAI

Upgrade praisonaiagents to version 1.6.58 or later via pip install --upgrade praisonaiagents; the vendor-released patch is confirmed by GitHub release tag v4.6.58 and commit 2f9677abb2ea68eab864ee8b6a828fd0141612e1. If an immediate upgrade is not possible, the most effective compensating control is to restrict which URLs agents are permitted to fetch at the application policy layer before any request reaches spider_tools - for example, by enforcing an allowlist of approved URL prefixes in the caller code. Operators running PraisonAI in environments where internal services are accessible on loopback or RFC-1918 addresses (including cloud metadata endpoints at 169.254.169.254) should isolate the praisonaiagents process in a network namespace or container with no internal service routing until patched; this eliminates the reachable internal attack surface even if SSRF validation is bypassed. Blocking outbound DNS resolution to public wildcard DNS services (nip.io, sslip.io, xip.io) at the network perimeter adds defense-in-depth but should not substitute for patching, as any authoritative DNS record pointing to a private IP would achieve the same bypass.

Affected VersionsENISA

praisonaiagents < 1.6.58
PraisonAI < 4.6.58

Affected Packages

pypi praisonaiagents fix: 1.6.58
euvd praisonai fix: 4.6.58

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

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

Technical ContextAI · show details

The vulnerability (CWE-350: Reliance on Reverse DNS Resolution for a Security-Critical Action) resides in praisonaiagents/tools/spider_tools.py in the _host_is_blocked() function, which checks URL hostnames against a hardcoded set of IP literals ('localhost', '0.0.0.0', '::1'), known cloud metadata aliases ('169.254.169.254', 'metadata.google.internal'), and TLD suffixes (.local, .internal). For non-literal hostnames, the function attempts ipaddress.ip_address() and socket.inet_aton() parsing - both of which only handle dotted-decimal strings, not DNS names - so any real hostname falls through to return False (not blocked). Public wildcard DNS services such as nip.io, sslip.io, and xip.io embed arbitrary IP addresses in DNS names (e.g., 127.0.0.1.nip.io resolves to 127.0.0.1), requiring no attacker-controlled infrastructure. CPE data identifies both cpe:2.3:a:mervinpraison:praisonai and cpe:2.3:a:mervinpraison:praisonaiagents as affected products. This is a bypass of a prior SSRF fix (GHSA-q9pw-vmhh-384g, commit 004dcfef) that addressed IP literal encoding tricks only; the correct pattern using socket.getaddrinfo with fail-closed behavior had already been applied to web_crawl_tools.py but was not ported to spider_tools.py until version 1.6.58.

Know when Praisonai 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.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 8.5 HIGH

Network-reachable via agent prompt; low privilege required to instruct the agent; scope change because internal host services are affected beyond the application boundary; high confidentiality as full internal responses are returned; low integrity since exploitation relies on HTTP GET semantics.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Aug 25, 2026 - 16:02 EUVD
CVE Published
Aug 25, 2026 - 14:36 cve.org
HIGH 8.5

DescriptionCVE.org

PraisonAI is a multi-agent teams system. Prior to praisonaiagents 1.6.58, spider_tools._host_is_blocked() does not resolve ordinary hostnames before scrape_page fetches them. A hostname such as 127.0.0.1.nip.io passes validation and resolves to loopback, permitting internal HTTP access. The fix uses socket.getaddrinfo and fails closed on DNS errors. This issue is fixed in version 1.6.58.

Executive ViewAI

Why It Matters

PraisonAI's praisonaiagents library (versions before 1.6.58) contains a vulnerability allowing low-privileged users to extract sensitive data from internal systems, including cloud credentials and API keys from metadata endpoints. Organizations deploying this library in production risk unauthorized access to internal infrastructure and sensitive credentials.

Business Impact: High
Compensating Controls

Apply vendor patch: praisonaiagents 1.6.58 or later

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche AI agent framework, limited enterprise production footprint
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 Yes
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
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

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-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

CVE-2026-55532 HIGH POC
7.6 Aug 25

Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex

CVE-2026-44338 HIGH POC
7.3 May 08

Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl

CVE-2026-55527 HIGH POC
7.1 Aug 25

Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr

CVE-2026-55535 MEDIUM POC
6.8 Aug 25

Server-Side Request Forgery in PraisonAI before version 4.6.58 allows unauthenticated remote attackers to force the appl

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