Platform
python
Component
praisonai
Opgelost 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 maakt willekeurige code-uitvoering mogelijk door de directe invoeging van onontmaskerde gebruikersinvoer in template-rendering tools. Specifiek retourneert de functie createagentcentrictools() tools (zoals acpcreatefile) die bestandsinhoud verwerken met behulp van template-rendering. Wanneer gebruikersinvoer van agent.start() direct aan deze tools wordt doorgegeven zonder ontmaskering (zoals te zien is in agentcentric_example.py:85-86), worden template-expressies in de invoer uitgevoerd in plaats van als platte tekst behandeld. Dit stelt een aanvaller in staat om kwaadaardige code in te voegen die tijdens het template-renderingproces wordt uitgevoerd, waardoor de systeembeveiliging mogelijk wordt gecompromitteerd.
De kwetsbaarheid wordt misbruikt door kwaadaardige agentinstructies te verstrekken die template-expressies bevatten. Deze expressies worden, indien niet correct ontmaskerd, geïnterpreteerd en uitgevoerd tijdens het template-renderingproces. Het bestand agentcentricexample.py:85-86 illustreert een scenario waarin deze kwetsbaarheid kan worden misbruikt. Een aanvaller zou bijvoorbeeld besturingssysteemcommando's binnen de agentinstructies kunnen injecteren, die vervolgens worden uitgevoerd met de privileges van het template-renderingproces. De complexiteit van de exploitatie hangt af van de systeemconfiguratie en het vermogen van de aanvaller om kwaadaardige agentinstructies te maken.
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% percentiel)
CISA SSVC
CVSS-vector
De belangrijkste mitigatie voor CVE-2026-39891 is het upgraden naar versie 4.5.115 van PraisonAI of hoger. Deze versie bevat fixes om de directe invoeging van onontmaskerde gebruikersinvoer in template-rendering tools te voorkomen. Bovendien moeten alle gebruikersinvoer strikt worden gevalideerd en ontmaskerd voordat deze in een template-renderingcontext worden gebruikt. Het is cruciaal om de broncode te bekijken om alle instanties te identificeren en te corrigeren waar gebruikersinvoer direct in templates wordt gebruikt zonder adequate bescherming. Door deze maatregelen toe te passen, wordt willekeurige code-uitvoering voorkomen en wordt het systeem beschermd tegen mogelijke aanvallen.
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.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
Template-rendering is een proces dat templates combineert met gegevens om dynamische inhoud te genereren, zoals webpagina's of configuratiebestanden.
Het ontmaskeren van gebruikersinvoer is cruciaal om injectie-aanvallen, zoals code-injectie, te voorkomen, door ervoor te zorgen dat speciale tekens worden geïnterpreteerd als letterlijke tekst in plaats van uitvoerbare code.
Als u niet onmiddellijk kunt upgraden, implementeert u aanvullende mitigatiemaatregelen, zoals de strenge validatie en ontmaskering van gebruikersinvoer, en overweeg het gebruik van een veiligere template-engine.
Als u een versie gebruikt die vóór 4.5.115 is van PraisonAI en u geen mitigatiemaatregelen heeft geïmplementeerd, is uw systeem waarschijnlijk kwetsbaar.
Ja, er zijn statische en dynamische analysemiddelen die u kunnen helpen bij het identificeren van ontmaskeringskwetsbaarheden in uw code.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.
Upload je requirements.txt-bestand en we vertellen je direct of je getroffen bent.