Vulnérabilité dans praisonaiagents (CVE-2026-40153)
Résumé
Vulnérabilité dans praisonaiagents (CVE-2026-40153). Des informations confidentielles peuvent être exposées. Exploitable via execute_command. Atténuation : mise à jour vers 1.5.128 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Summary
The execute_command function in shell_tools.py calls os.path.expandvars() on every command argument at line 64, manually re-implementing shell-level environment variable expansion despite using shell=False (line 88) for security. This allows exfiltration of secrets stored in environment variables (database credentials, API keys, cloud access keys). The approval system displays the unexpanded $VAR references to human reviewers, creating a deceptive approval where the displayed command differs from what actually executes.
Details
The vulnerable code is in src/praisonai-agents/praisonaiagents/tools/shell_tools.py:
# Line 60: command is split
command = shlex.split(command)
# Lines 62-64: VULNERABLE — expands ALL env vars in every argument
# Expand tilde and environment variables in command arguments
# (shell=False means the shell won't do this for us)
command = [os.path.expanduser(os.path.expandvars(arg)) for arg in command]
# Line 88: shell=False is supposed to prevent shell feature access
process = subprocess.Popen(
command,
...
shell=False, # Always use shell=False for security
)
The security problem is a disconnect between the approval display and actual execution:
- The LLM generates a tool call:
execute_command(command="cat $DATABASE_URL") _check_tool_approval_syncintool_execution.py:558passes{"command": "cat $DATABASE_URL"}to the approval backendConsoleBackend(backends.py:81-85) displa…
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Résumé généré automatiquement
Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.
Une vulnérabilité référencée CVE-2026-40153 a été découverte dans praisonaiagents.
Des attaquants peuvent cibler un point d'entrée spécifique comme execute_command à distance pour détourner le produit.
Des informations confidentielles peuvent être exposées.
Action : mettez à jour praisonaiagents vers 1.5.128 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « praisonaiagents CVE-2026-40153 » sur le site de l'éditeur.
CVE-2026-40153 (praisonaiagents) — CWE-526
Vecteur d'attaque : distant (réseau) / non authentifié
Surface d'attaque : execute_command / shell_tools.py / _check_tool_approval_sync / ConsoleBackend
Correctif : 1.5.128 — appliquer immédiatement
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.
Une vulnérabilité (CWE-526) affecte praisonaiagents. Les attaquants atteignent le code vulnérable via execute_command sans authentification.
Consultez l'avis de l'éditeur pour les versions affectées de praisonaiagents. Surface d'attaque : execute_command / shell_tools.py / _check_tool_approval_sync / ConsoleBackend.
Gravité : ?. Des informations confidentielles peuvent être exposées.
Mettre à jour vers 1.5.128.
En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.
Recherchez dans les logs des requêtes correspondant aux IOC connus de cette CVE. Auditez les SBOM/dépendances.
Actions de réponse
Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre
-
1Identify exposure identify
grep -r 'praisonaiagents' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
praisonaiagentsを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade praisonaiagents to 1.5.128ステージング環境で 1.5.128 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Paquets affectés
Références
- advisory nvd.nist.gov
- package github.com
- web github.com