Alta

PraisonAI has Template Injection in Agent Tool Definitions

  • Publicada: 08.04.2026
  • Actualizado: 11.10.2026 14:18

Summary

Direct insertion of unescaped user input into template-rendering tools allows arbitrary code execution via specially crafted agent instructions.

Details

The create_agent_centric_tools() function returns tools (like acp_create_file) that process file content using template rendering. When user input from agent.start() is passed directly into these tools without escaping (as shown in agent_centric_example.py:85-86), template expressions in the input are executed rather than treated as literal text. This occurs because:

  1. No input sanitization or escaping is applied to user-controlled content
  2. The ACP-enabled runtime auto-approves operations (approval_mode="auto")
  3. Tools lack context-aware escaping for template syntax

PoC

python
# Replace the agent.start() call at line 85 with:
result = agent.start('Create file with content: {{ self.__init__.__globals__.__builtins__.__import__("os").system("touch /tmp/pwned") }}')

Successful exploitation creates /tmp/pwned confirming arbitrary command execution. The expression {{7*7}} renders as 49 instead of literal text.

Impact

Attackers can execute arbitrary system commands with the privileges of the running process by injecting malicious template expressions through agent instructions. This compromises the host system, enabling data theft, ransomware deployment, or lateral movement.

Recommended Fix

  1. Input Sanitization: Implement strict whitelist validation for file content
  2. Contextual Escaping: Auto-escape template syntax characters (e.g., {{ }}) in user input using Jinja2 autoescape=True
  3. Sandboxing: Restrict template execution environments using secure eval modes
  4. Approval Hardening: Require manual approval for file creation operations in production

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) praisonai < 4.5.115 4.5.115

Referencias

Puntuación CVSS 8.8/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Debilidad (CWE)
CWE-94
Plataforma
Python (PyPI)
Paquete
praisonai
Publicada
08.04.2026
Actualizado
11.10.2026 14:18

Fuentes y licencias

OSV / GitHub Advisory Database - PYSEC-2026-2917 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-hwg5-x759-7wjg - CC BY 4.0

Historial de vulnerabilidades: praisonai

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (104) en el archivo
Entradas en total
104
Primera → última
04.2026 10.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 27
  • Alta 60
  • Media 17

Divulgaciones por año

  1. 2026: 104
Gravedad:
  1. PraisonAI has Template Injection in Agent Tool Definitions esta entrada
    Alta · 8.8 CVE-2026-39891 < 4.5.115 4.5.115
  2. Alta · 7.5 CVE-2026-61439 < 4.6.78 4.6.78
  3. Alta · 7.3 CVE-2026-56839 < 4.6.59 4.6.59
  4. Alta · 7.2 CVE-2026-57114 >= 4.5.126, < 4.6.59 4.6.59
  5. Crítica · 9.8 CVE-2026-57125 < 4.6.59 4.6.59
  6. Alta · 8.8 CVE-2026-57117 >= 4.6.10, < 4.6.59 4.6.59
  7. Alta · 7.8 CVE-2026-56838 >= 4.5.87, < 4.6.59 4.6.59
  8. Alta · 8.3 CVE-2026-56835 >= 3.11.0, < 4.6.59 4.6.59
  9. Alta · 8.2 CVE-2026-56836 >= 4.5.112, < 4.6.59 4.6.59
  10. Alta CVE-2026-47397 < 4.6.40 4.6.40
  11. Crítica · 9.8 CVE-2026-41497 < 4.5.149 4.5.149
Mostrar más (20) Mostrando 61 de 87

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.