CVE-2026-47390 in praisonaiagentsinfo

Summary

by MITRE • 07/21/2026

PraisonAI is a multi-agent teams system. Prior to version 4.6.40 of PraisonAI, corresponding to version 1.6.40 of praisonaiagents, `spider_tools` URL validation can be bypassed using alternate loopback host encodings. The tool contains a URL validation function intended to block local or unsafe targets before fetching attacker-controlled URLs. However, the validation only blocks a small set of exact host strings such as `localhost` and `127.0.0.1`. It does not normalize hostnames, resolve DNS, parse numeric IPv4 variants, or validate the final resolved IP address before making the request. As a result, certain URLs may bypass the protection and still reach loopback services. After the weak validation passes, `scrape_page()` calls `requests.Session.get()` on the attacker-controlled URL. This allows an attacker who can influence URLs passed to `scrape_page`, `crawl`, or `extract_text` to induce SSRF requests against loopback-only services. This is a server-side request forgery protection bypass. PraisonAI version 4.6.40 and praisonaiagents version 1.6.40 contain a patch.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 07/21/2026

The vulnerability in PraisonAI represents a critical server-side request forgery (SSRF) flaw that emerged from inadequate URL validation mechanisms within the spider_tools functionality. This issue specifically affects versions prior to 4.6.40 of PraisonAI and 1.6.40 of praisonaiagents, where the system's security controls fail to properly sanitize attacker-controlled URLs before making network requests. The core problem lies in the URL validation function's inability to handle various loopback host encodings that can bypass the existing protection measures. While the system correctly blocks explicit localhost and 127.0.0.1 references, it fails to account for alternative representations such as IPv4 numeric variants, encoded hostnames, or other normalization techniques that could still resolve to loopback addresses.

The technical implementation of this vulnerability stems from a fundamental lack of hostname normalization and IP address resolution validation within the URL parsing pipeline. When an attacker provides a malicious URL containing a loopback host in an alternate encoding format, the validation function accepts it because it only performs exact string matching against a limited set of known local hostnames. This approach directly violates security best practices outlined in CWE-918, which addresses server-side request forgery vulnerabilities where applications fail to properly validate and sanitize input URLs. The vulnerability becomes particularly dangerous when combined with the subsequent call to requests.Session.get() within the scrape_page() function, as this allows arbitrary network requests to be made against internal services that should remain protected from external access.

The operational impact of this vulnerability extends beyond simple information disclosure, creating a potential pathway for attackers to perform reconnaissance and exploitation of internal systems. An attacker who can influence URLs passed to functions such as scrape_page(), crawl(), or extract_text() can leverage this bypass to make requests against loopback-only services that are typically protected from external network access. This includes potentially accessing internal APIs, database interfaces, or other sensitive components that should only be reachable through local network connections. The vulnerability creates a direct attack vector for information leakage and privilege escalation, as it allows unauthorized access to internal resources that would normally require physical or network-level access.

The patch implemented in versions 4.6.40 and 1.6.40 addresses this issue by enhancing the URL validation function to properly normalize hostnames and resolve IP addresses before making network requests. This fix aligns with established security practices for preventing SSRF attacks and demonstrates compliance with industry standards such as those recommended by the OWASP Top Ten project. The mitigation strategy involves implementing proper hostname normalization techniques, including DNS resolution verification, IP address range validation, and comprehensive input sanitization that accounts for various encoding methods attackers might employ. This approach ensures that even if an attacker attempts to use alternative loopback host representations, the system will properly identify and block requests to internal network resources, thereby protecting against unauthorized access to sensitive internal services.

From a threat modeling perspective, this vulnerability aligns with ATT&CK technique T1071.004 for application layer protocol: DNS, where attackers leverage protocol weaknesses to bypass security controls. The flaw represents a classic case of insufficient input validation that enables an attacker to manipulate the application's network behavior, potentially leading to unauthorized access to internal systems. Organizations using PraisonAI should immediately upgrade to the patched versions to prevent exploitation of this vulnerability, as it provides attackers with a direct pathway to internal network resources that should remain protected from external access through proper network segmentation and access control mechanisms.

Responsible

GitHub M

Reservation

05/19/2026

Disclosure

07/21/2026

Moderation

accepted

CPE

ready

EPSS

0.00168

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!