CVE-2026-109442: el agente DeepAgents de piflow ejecuta comandos de shell para cualquiera, sin auth
piflow (cas-bigdatalab) expone los endpoints POST /chat y POST /chat/stream de su agente DeepAgents sin ninguna autenticación (CWE-306). Basta con pedirle al agente que use su tool exec_shell, que llama a subprocess.run sin aprobación humana ni allow-list, para ejecutar comandos arbitrarios y llevarse los secretos del entorno: API keys de LLM y credenciales de base de datos. CVSS v3.1 9.8 / v4 9.3. Afecta 2.0.0 a 2.0.1 y todavía no hay fix. Ojo con esto: si lo tenés expuesto, sacalo de la red ya.
CVE-2026-109444: el approval gate de OpenSRE siempre devuelve True y deja correr shell vía prompt injection
OpenSRE, el agente SRE de Tracer-Cloud, tiene un presenter headless cuyo execution_allowed() siempre devuelve True, así que el gate de confirmación de la tool shell_run nunca pide nada. Un atacante mete instrucciones en una alerta o un mensaje de Slack que el agente procesa y consigue ejecución de comandos en el host, con acceso a credenciales de LLM, Slack y cloud (CWE-862). CVSS v4 8.7 / v3.1 8.8. Afecta hasta 0.1.2026.10.19, sin fix publicado. Es el caso de manual de prompt injection indirecta: el humano en el loop existía solo en el diseño.
Envoy AI Gateway / agent-router: el resume de sesiones MCP no verifica al usuario y el Helm trae una seed pública
El proxy MCP embebe el sub del JWT en el Mcp-Session-Id justamente como discriminador anti-hijacking, como recomienda la spec de MCP, pero el camino de resume nunca lo compara con la identidad actual. Cualquiera que obtenga un session ID ajeno puede retomar esa sesión, leer estado de tool calls e invocar tools/call o resources/read en nombre de otro usuario. Peor: el chart oficial de Helm trae la seed literal default-insecure-seed para cifrar esos IDs, así que se pueden forjar. CVSS v4 6.8. Arreglado en 1.2.0-rc1; rotá la seed sí o sí.
CVE-2026-108372: LoopX serve-status con CORS abierto filtra estado del control plane de agentes
LoopX, un control plane local para agentes de largo plazo, responde con Access-Control-Allow-Origin: * en todas las rutas GET sin auth de serve-status, en un puerto loopback fijo. Cualquier web que visites puede hacer fetch() a 127.0.0.1:8766 y leer goals, historial de runs, rutas absolutas y el contenido de Markdown de cada repo registrado. Los endpoints de escritura sí validan Origin. CVSS v4 7.1. Arreglado en 0.4.5.
CVE-2026-111057 / CVE-2026-111058: MLJAR Mercury, RCE sin auth vía /api/terminals y /api/kernels
Mercury, que convierte notebooks de Jupyter en web apps, corre JupyterLab con acceso anónimo por defecto y se protege con una blocklist. Primer bug: una coma faltante en BLOCKED_PATTERNS concatena dos regex y deja /api/terminals sin bloquear, o sea una shell interactiva para cualquiera (CVSS v3 10). El fix en 3.2.4 fue incompleto: /api/kernels no puede bloquearse y nadie filtra los execute_request, así que crear un kernel y mandarle código sigue siendo RCE (CVSS v3 9.8). Actualizá a 3.2.6 y poné un token; una blocklist sobre Jupyter nunca va a alcanzar.
CVE-2026-112107: fastllm, buffer overflow al cargar pesos safetensors con data_offsets manipulados
El motor de inferencia fastllm (ztxz16) no valida data_offsets en SafeTensorItem::CreateBuffer (src/model.cpp), así que un modelo safetensors armado a mano provoca un buffer overflow (CWE-119/120). Hay PoC pública y el proyecto no respondió al reporte; afecta 1.8.0 a 1.8.2, sin fix. El mismo día salió un overflow parecido en el parser de strings GGUF (CVE-2026-112108). CVSS v3.1 6.3. Recordatorio: safetensors evita pickle, pero el loader igual tiene que validar el header.
Graphify: un repo no confiable con archivos Fortran filtra archivos del host al grafo que lee el agente
Graphify, la skill /graphify para Claude Code, Cursor, Codex y Gemini CLI que convierte un repo en knowledge graph, preprocesa archivos .F/.F90 con cpp. Su hardening (-nostdinc -I /dev/null) no frena #include con rutas absolutas ni con path traversal, así que indexar un repo malicioso mete /etc/passwd o tu ~/.ssh/id_rsa en el grafo, que después se le pasa al LLM y se escribe en graph.json, el wiki de Obsidian y los exports. CVSS v4 6.8. Arreglado en graphifyy 0.9.70.
Tendencias Destacadas
El humano en el loop es decorativo: piflow directamente no tiene auth delante de una tool de shell, y OpenSRE tiene un gate de aprobación que siempre aprueba. En los dos casos, cualquier texto que llegue al agente (un chat, una alerta, un Slack) termina siendo un comando.
Las blocklists siguen fallando: Mercury necesitó dos advisories para aceptar que Jupyter anónimo no se puede tapar por regex, y Graphify descubrió que los flags de cpp no frenan includes absolutos. Allow-list y auth, no listas de lo prohibido.
CVE-2026-109442: piflow's DeepAgents agent runs shell commands for anyone, no auth required
piflow (cas-bigdatalab) exposes its DeepAgents agent's POST /chat and POST /chat/stream endpoints with no authentication at all (CWE-306). An attacker just asks the agent to use its exec_shell tool, which calls subprocess.run with no human approval or allow-list, to run arbitrary commands and walk off with environment secrets such as LLM API keys and database credentials. CVSS v3.1 9.8 / v4 9.3. Affects 2.0.0 through 2.0.1, and no fix is available yet. If it is network-reachable, take it offline now.
CVE-2026-109444: OpenSRE's approval gate always returns True, letting prompt injection run shell commands
OpenSRE, Tracer-Cloud's SRE agent, ships a headless presenter whose execution_allowed() always returns True, so the confirmation gate on the shell_run tool never actually asks. An attacker plants instructions in an alert or Slack message the agent processes and gets command execution on the host, with access to LLM, Slack and cloud credentials (CWE-862). CVSS v4 8.7 / v3.1 8.8. Affects versions up to 0.1.2026.10.19, with no fix published. A textbook indirect prompt injection: the human in the loop only existed on paper.
Envoy AI Gateway / agent-router: MCP session resume skips the user check, and the Helm chart ships a public seed
The MCP proxy embeds the JWT sub in the Mcp-Session-Id precisely as an anti-hijacking discriminator, as the MCP spec recommends, but the resume path never compares it to the current caller. Anyone who gets hold of another user's session ID can resume that session, read tool-call state and invoke tools/call or resources/read as that user. Worse, the official Helm chart ships the literal seed default-insecure-seed for encrypting those IDs, so they can be forged outright. CVSS v4 6.8. Fixed in 1.2.0-rc1; rotate the seed regardless.
CVE-2026-108372: LoopX serve-status with open CORS leaks agent control-plane state
LoopX, a local control plane for long-horizon agents, answers every unauthenticated GET route of serve-status with Access-Control-Allow-Origin: * on a fixed loopback port. Any website you visit can fetch() 127.0.0.1:8766 and read goals, run history, absolute paths and Markdown file contents from every registered repo. Write endpoints are correctly Origin-checked. CVSS v4 7.1. Fixed in 0.4.5.
CVE-2026-111057 / CVE-2026-111058: MLJAR Mercury, unauthenticated RCE via /api/terminals and /api/kernels
Mercury, which turns Jupyter notebooks into web apps, runs JupyterLab with anonymous access by default and relies on a blocklist. First bug: a missing comma in BLOCKED_PATTERNS concatenates two regexes and leaves /api/terminals unblocked, handing anyone an interactive shell (CVSS v3 10). The 3.2.4 fix was incomplete: /api/kernels cannot be blocked and nothing filters execute_request, so creating a kernel and sending it code is still RCE (CVSS v3 9.8). Upgrade to 3.2.6 and set a token; a blocklist over Jupyter was never going to hold.
CVE-2026-112107: fastllm buffer overflow when loading safetensors weights with crafted data_offsets
The fastllm inference engine (ztxz16) does not validate data_offsets in SafeTensorItem::CreateBuffer (src/model.cpp), so a hand-crafted safetensors model triggers a buffer overflow (CWE-119/120). A public PoC exists and the project did not respond to the report; versions 1.8.0 through 1.8.2 are affected with no fix. A similar overflow in GGUF string parsing (CVE-2026-112108) landed the same day. CVSS v3.1 6.3. Reminder: safetensors avoids pickle, but the loader still has to validate the header.
Graphify: an untrusted repo with Fortran files leaks host files into the graph your agent reads
Graphify, the /graphify skill for Claude Code, Cursor, Codex and Gemini CLI that turns a repo into a knowledge graph, preprocesses .F/.F90 files with cpp. Its hardening (-nostdinc -I /dev/null) does not stop #include with absolute paths or path traversal, so indexing a malicious repo pulls /etc/passwd or your ~/.ssh/id_rsa into the graph, which is then fed to the LLM and written to graph.json, the Obsidian wiki and exports. CVSS v4 6.8. Fixed in graphifyy 0.9.70.
Notable Trends
Human-in-the-loop is decorative: piflow puts no auth at all in front of a shell tool, and OpenSRE has an approval gate that always approves. In both cases any text that reaches the agent, whether a chat, an alert or a Slack message, ends up as a command.
Blocklists keep failing: Mercury needed two advisories to accept that anonymous Jupyter cannot be patched with regexes, and Graphify learned that cpp flags do not stop absolute includes. Allow-lists and auth, not lists of what is forbidden.
CVE-2026-109442 : l'agent DeepAgents de piflow exécute des commandes shell pour n'importe qui, sans authentification
piflow (cas-bigdatalab) expose les endpoints POST /chat et POST /chat/stream de son agent DeepAgents sans aucune authentification (CWE-306). Il suffit de demander à l'agent d'utiliser son outil exec_shell, qui appelle subprocess.run sans approbation humaine ni allow-list, pour exécuter des commandes arbitraires et voler les secrets de l'environnement (clés API LLM, identifiants de base de données). CVSS v3.1 9.8 / v4 9.3. Versions 2.0.0 à 2.0.1, aucun correctif pour l'instant.
CVE-2026-109444 : l'approval gate d'OpenSRE renvoie toujours True et laisse la prompt injection exécuter du shell
OpenSRE, l'agent SRE de Tracer-Cloud, embarque un presenter headless dont execution_allowed() renvoie toujours True : la confirmation de l'outil shell_run n'est jamais demandée. Un attaquant glisse des instructions dans une alerte ou un message Slack traité par l'agent et obtient l'exécution de commandes sur l'hôte, avec accès aux identifiants LLM, Slack et cloud (CWE-862). CVSS v4 8.7 / v3.1 8.8. Jusqu'à 0.1.2026.10.19, sans correctif publié.
Envoy AI Gateway / agent-router : la reprise de session MCP ne vérifie pas l'utilisateur et le chart Helm livre une seed publique
Le proxy MCP intègre le sub du JWT dans le Mcp-Session-Id comme discriminant anti-détournement, comme le recommande la spec MCP, mais le chemin de reprise ne le compare jamais à l'appelant. Quiconque obtient l'ID de session d'un autre utilisateur peut la reprendre et invoquer tools/call ou resources/read en son nom. Le chart Helm officiel livre en plus la seed littérale default-insecure-seed, rendant les IDs falsifiables. CVSS v4 6.8. Corrigé en 1.2.0-rc1.
CVE-2026-108372 : LoopX serve-status avec CORS ouvert fuite l'état du control plane d'agents
LoopX, un control plane local pour agents de longue durée, renvoie Access-Control-Allow-Origin: * sur toutes les routes GET non authentifiées de serve-status, sur un port loopback fixe. N'importe quel site peut faire un fetch() vers 127.0.0.1:8766 et lire objectifs, historique, chemins absolus et contenu Markdown des dépôts enregistrés. CVSS v4 7.1. Corrigé en 0.4.5.
CVE-2026-111057 / CVE-2026-111058 : MLJAR Mercury, RCE non authentifiée via /api/terminals et /api/kernels
Mercury, qui transforme des notebooks Jupyter en apps web, lance JupyterLab en accès anonyme par défaut et s'appuie sur une blocklist. Premier bug : une virgule manquante dans BLOCKED_PATTERNS fusionne deux regex et laisse /api/terminals accessible, offrant un shell interactif à tous (CVSS v3 10). Le correctif 3.2.4 était incomplet : /api/kernels reste ouvert et execute_request n'est pas filtré, d'où une RCE (CVSS v3 9.8). Passez en 3.2.6 et définissez un token.
CVE-2026-112107 : fastllm, buffer overflow au chargement de poids safetensors aux data_offsets manipulés
Le moteur d'inférence fastllm (ztxz16) ne valide pas data_offsets dans SafeTensorItem::CreateBuffer (src/model.cpp) : un modèle safetensors forgé provoque un buffer overflow (CWE-119/120). PoC publique, pas de réponse du projet ; versions 1.8.0 à 1.8.2, sans correctif. Un overflow similaire dans le parsing GGUF (CVE-2026-112108) est publié le même jour. CVSS v3.1 6.3.
Graphify : un dépôt non fiable avec des fichiers Fortran fuite des fichiers de l'hôte dans le graphe lu par l'agent
Graphify, la skill /graphify pour Claude Code, Cursor, Codex et Gemini CLI qui transforme un dépôt en knowledge graph, prétraite les fichiers .F/.F90 avec cpp. Son durcissement (-nostdinc -I /dev/null) n'empêche pas les #include absolus ni le path traversal : indexer un dépôt malveillant injecte /etc/passwd ou ~/.ssh/id_rsa dans le graphe transmis au LLM et écrit dans graph.json et les exports. CVSS v4 6.8. Corrigé en graphifyy 0.9.70.
Tendances Notables
L'humain dans la boucle est décoratif : piflow n'a aucune authentification devant un outil shell, et OpenSRE a un gate d'approbation qui approuve toujours. Dans les deux cas, tout texte qui atteint l'agent devient une commande.
Les blocklists échouent encore : Mercury a eu besoin de deux advisories pour admettre qu'un Jupyter anonyme ne se protège pas par regex, et Graphify a découvert que les flags de cpp n'arrêtent pas les includes absolus.