Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en PraisonAI de MervinPraison (CVE-2026-40158)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-94 Control incorrecto de generación de código (Inyección de código)
Fecha de publicación:
10/04/2026
Última modificación:
26/10/2026

Descripción

PraisonAI es un sistema de equipos multiagente. Antes de la 4.5.128, el sandbox de Python basado en AST de PraisonAI puede ser eludido utilizando el trampoline type.__getattribute__, permitiendo la ejecución de código arbitrario al ejecutar código de agente no confiable. La función _execute_code_direct en praisonaiagents/tools/python_tools.py utiliza filtrado AST para bloquear atributos peligrosos de Python como __subclasses__, __globals__ y __bases__. Sin embargo, el filtro solo verifica nodos ast.Attribute, permitiendo una elusión. El sandbox se basa en el filtrado basado en AST del acceso a atributos, pero no tiene en cuenta la resolución dinámica de atributos a través de métodos incorporados como type.getattribute, lo que resulta en una aplicación incompleta de las restricciones de seguridad. La cadena ’__subclasses__’ es un ast.Constant, no un ast.Attribute, por lo que nunca se verifica contra la lista bloqueada. Esta vulnerabilidad está corregida en la 4.5.128.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* 4.5.128 (excluyendo)