PT-2026-42036 · Decolua+2 · 9Router

CVE-2026-46339

·

Publicado

2026-05-19

·

Atualizado

2026-09-12

CVSS v3.1

10

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas 9router versões 0.4.30 a 0.4.36
Description O 9router contém uma falha na qual o middleware do Next.js não protege diversos endpoints de API, permitindo que atacantes adjacentes à rede, não autenticados, executem comandos arbitrários do sistema operacional como o usuário que executa o processo. O problema decorre de uma lista de permissões restrita em src/proxy.js que deixa os endpoints /api/cli-tools/* e /api/mcp/* desprotegidos. Um atacante pode primeiro usar o endpoint /api/cli-tools/cowork-settings para registrar um plugin malicioso, fornecendo um command e args controlados através da variável customPlugins. Posteriormente, o atacante pode disparar a execução desse comando chamando o endpoint /api/mcp/{plugin}/sse, que invoca a função spawn() usando os parâmetros maliciosos armazenados anteriormente. Isso pode levar ao comprometimento total do servidor, incluindo a exfiltração de chaves de API, credenciais da AWS e possível escape de container para o root do host se o processo possuir permissões do grupo docker.
Recommendations Atualize o 9router para uma versão posterior à 0.4.36. Estenda o matcher do middleware em src/proxy.js para incluir /api/cli-tools/:path* e /api/mcp/:path* para impor a autenticação. Implemente uma lista de permissões de comandos dentro da função registerCustomPlugin() em src/lib/mcp/stdioSseBridge.js para validar a variável command. Sanitize a entrada de customPlugins na fronteira da API em src/app/api/cli-tools/cowork-settings/route.js, validando o command e sanitizando a variável name.

Exploit

Correção

RCE

Missing Authentication

OS Command Injection

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-46339
GHSA-FHH6-4QXV-RPQJ

Produtos afetados

9Router