CVE-2026-47390 PraisonAI spider_tools SSRF protection bypass via alternate loopback host encodings

Medium 5.5 Published Updated

Attackers can bypass SSRF protections in PraisonAI spider tools using alternate loopback encodings to access internal services.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-47390?

CVE-2026-47390 is a medium-severity server-side request forgery vulnerability in MervinPraison PraisonAI, published on 21 Jul 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

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.

Weakness: CWE-918

Which versions are affected by CVE-2026-47390?

6 open source packages ship an affected version, including praisonaiagents, PraisonAI and praisonai.

PackageAffectedFixed in
praisonaiagents PyPIAll versions1.6.40
praisonaiagents PyPIAll versions1.6.40
praisonaiagents PyPIAll versions1.6.40
PraisonAI PyPIAll versions4.6.40
praisonai PyPIAll versions4.6.40
praisonai PyPIAll versions4.6.40

How do I fix CVE-2026-47390?

Upgrade praisonaiagents to 1.6.40 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2026-47390 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47390 exists.

Sources

Also known as GHSA-5c6w-wwfq-7qqm, PYSEC-2026-2902, PYSEC-2026-2941.

Is CVE-2026-47390 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free