Plattform
python
Komponente
praisonai
Behoben in
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.
CVE-2026-39891 in PraisonAI ermöglicht die Ausführung von beliebigem Code, da nicht maskierte Benutzereingaben direkt in Template-Rendering-Tools eingefügt werden. Insbesondere gibt die Funktion createagentcentrictools() Tools zurück (wie acpcreatefile), die Dateiinhalte mithilfe von Template-Rendering verarbeiten. Wenn Benutzereingaben von agent.start() ohne Maskierung direkt an diese Tools übergeben werden (wie in agentcentric_example.py:85-86 gezeigt), werden Template-Ausdrücke in der Eingabe ausgeführt, anstatt als Klartext behandelt zu werden. Dies ermöglicht es einem Angreifer, bösartigen Code einzuschleusen, der während des Template-Rendering-Prozesses ausgeführt wird und potenziell die Systemsicherheit gefährdet.
Die Schwachstelle wird ausgenutzt, indem bösartige Agentenbefehle bereitgestellt werden, die Template-Ausdrücke enthalten. Diese Ausdrücke werden, wenn sie nicht ordnungsgemäß maskiert werden, während des Template-Rendering-Prozesses interpretiert und ausgeführt. Die Datei agentcentricexample.py:85-86 veranschaulicht ein Szenario, in dem diese Schwachstelle ausgenutzt werden kann. Ein Angreifer könnte beispielsweise Betriebssystembefehle innerhalb der Agentenbefehle einschleusen, die dann mit den Berechtigungen des Template-Rendering-Prozesses ausgeführt würden. Die Komplexität der Ausnutzung hängt von der Systemkonfiguration und der Fähigkeit des Angreifers ab, bösartige Agentenbefehle zu erstellen.
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
Exploit-Status
EPSS
0.05% (17% Perzentil)
CISA SSVC
CVSS-Vektor
Die primäre Abhilfemaßnahme für CVE-2026-39891 ist das Upgrade auf Version 4.5.115 von PraisonAI oder höher. Diese Version enthält Korrekturen, um die direkte Einfügung von nicht maskierten Benutzereingaben in Template-Rendering-Tools zu verhindern. Darüber hinaus sollten alle Benutzereingaben vor ihrer Verwendung in einem Template-Rendering-Kontext streng validiert und maskiert werden. Es ist entscheidend, den Quellcode zu überprüfen, um alle Instanzen zu identifizieren und zu korrigieren, in denen Benutzereingaben direkt in Templates verwendet werden, ohne angemessenen Schutz. Durch die Anwendung dieser Maßnahmen wird die Ausführung von beliebigem Code verhindert und das System vor potenziellen Angriffen geschützt.
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.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
Template-Rendering ist ein Prozess, der Templates mit Daten kombiniert, um dynamische Inhalte wie Webseiten oder Konfigurationsdateien zu generieren.
Die Maskierung von Benutzereingaben ist entscheidend, um Injection-Angriffe wie Code-Injection zu verhindern, indem sichergestellt wird, dass Sonderzeichen als Literaltext und nicht als ausführbarer Code interpretiert werden.
Wenn Sie nicht sofort aktualisieren können, implementieren Sie zusätzliche Abhilfemaßnahmen, wie z. B. die strenge Validierung und Maskierung von Benutzereingaben, und erwägen Sie die Verwendung einer sichereren Template-Engine.
Wenn Sie eine Version vor 4.5.115 von PraisonAI verwenden und keine Abhilfemaßnahmen implementiert haben, ist Ihr System wahrscheinlich anfällig.
Ja, es gibt statische und dynamische Analyse-Tools, die Ihnen helfen können, Maskierungsschwachstellen in Ihrem Code zu identifizieren.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.
Lade deine requirements.txt-Datei hoch und wir sagen dir sofort, ob du betroffen bist.