Plateforme
python
Composant
praisonai
Corrigé dans
4.5.116
4.5.115
CVE-2026-39891 describes a Remote Code Execution (RCE) vulnerability in praisonai versions up to 4.5.98. This vulnerability arises from the direct insertion of unescaped user input into template-rendering tools, enabling attackers to execute arbitrary code. The vulnerability impacts users of praisonai running versions 4.5.98 and earlier, and a fix is available in version 4.5.115.
La vulnérabilité CVE-2026-39891 dans PraisonAI permet l'exécution arbitraire de code en raison de l'insertion directe d'entrées utilisateur non échappées dans des outils de rendu de modèles. Plus précisément, la fonction createagentcentrictools() renvoie des outils (comme acpcreatefile) qui traitent le contenu des fichiers en utilisant le rendu de modèles. Lorsque l'entrée utilisateur provenant de agent.start() est passée directement à ces outils sans échappement (comme le montre agentcentric_example.py:85-86), les expressions de modèle dans l'entrée sont exécutées au lieu d'être traitées comme du texte brut. Cela permet à un attaquant d'injecter du code malveillant qui sera exécuté pendant le processus de rendu de modèles, compromettant potentiellement la sécurité du système.
La vulnérabilité est exploitée en fournissant des instructions d'agent malveillantes contenant des expressions de modèle. Ces expressions, si elles ne sont pas correctement échappées, sont interprétées et exécutées pendant le processus de rendu de modèles. Le fichier agentcentricexample.py:85-86 illustre un scénario dans lequel cette vulnérabilité peut être exploitée. Un attaquant pourrait, par exemple, injecter des commandes du système d'exploitation dans les instructions de l'agent, qui seraient alors exécutées avec les privilèges du processus de rendu de modèles. La complexité de l'exploitation dépend de la configuration du système et de la capacité de l'attaquant à créer des instructions d'agent malveillantes.
Organizations utilizing praisonai for agent-centric applications, particularly those relying on user-provided instructions or configurations, are at risk. Systems with older, unpatched versions of praisonai (≤4.5.98) are especially vulnerable. Environments where agent instructions are processed without proper input validation are also at increased risk.
• python / supply-chain:
import os
import subprocess
def check_praisonai_version():
try:
result = subprocess.run(['praisonai', '--version'], capture_output=True, text=True, check=True)
version = result.stdout.strip()
if version <= '4.5.98':
print(f"PRAISONAI version is vulnerable: {version}")
else:
print(f"PRAISONAI version is patched: {version}")
except FileNotFoundError:
print("PRAISONAI not found.")
except subprocess.CalledProcessError as e:
print(f"Error checking version: {e}")
check_praisonai_version()• generic web: Check for unusual characters or patterns in agent instructions submitted through any user interface. • generic web: Review access/error logs for any errors related to template rendering or unexpected code execution.
disclosure
Statut de l'Exploit
EPSS
0.05% (percentile 17%)
CISA SSVC
Vecteur CVSS
L'atténuation principale pour CVE-2026-39891 est de mettre à niveau vers la version 4.5.115 de PraisonAI ou ultérieure. Cette version inclut des correctifs pour empêcher l'insertion directe d'entrées utilisateur non échappées dans des outils de rendu de modèles. De plus, une validation et un échappement rigoureux de toutes les entrées utilisateur doivent être mis en œuvre avant de les utiliser dans un contexte de rendu de modèles. Il est essentiel d'examiner le code source pour identifier et corriger toutes les instances où les entrées utilisateur sont utilisées directement dans les modèles sans protection appropriée. L'application de ces mesures aidera à prévenir l'exécution de code arbitraire et à protéger le système contre les attaques potentielles.
Actualice PraisonAI a la versión 4.5.115 o superior para mitigar la vulnerabilidad de inyección de plantillas. Esta versión corrige el problema al escapar correctamente la entrada del usuario antes de usarla en el renderizado de plantillas.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Le rendu de modèles est un processus qui combine des modèles avec des données pour générer du contenu dynamique, tel que des pages Web ou des fichiers de configuration.
L'échappement des entrées utilisateur est essentiel pour prévenir les attaques par injection, telles que l'injection de code, en garantissant que les caractères spéciaux sont interprétés comme du texte littéral au lieu de code exécutable.
Si vous ne pouvez pas mettre à niveau immédiatement, mettez en œuvre des mesures d'atténuation supplémentaires, telles qu'une validation et un échappement rigoureux des entrées utilisateur, et envisagez d'utiliser un moteur de modèles plus sécurisé.
Si vous utilisez une version antérieure à 4.5.115 de PraisonAI et que vous n'avez pas mis en œuvre de mesures d'atténuation, votre système est probablement vulnérable.
Oui, il existe des outils d'analyse statique et dynamique qui peuvent vous aider à identifier les vulnérabilités d'échappement dans votre code.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier requirements.txt et nous te dirons instantanément si tu es affecté.