PT-2026-31457 · Pypi+1 · Js-Yaml+1

CVE-2026-39890

·

Publicado

2026-04-08

·

Atualizado

2026-06-29

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas PraisonAI versões anteriores a 4.5.115
Descrição O método AgentService.loadAgentFromFile do PraisonAI usa a biblioteca js-yaml para analisar arquivos YAML sem desabilitar tags perigosas como !!js/function e !!js/undefined. Isso permite que um invasor crie um arquivo YAML malicioso que, quando analisado, executa código JavaScript arbitrário. Um invasor pode explorar essa vulnerabilidade carregando um arquivo de definição de agente malicioso através do endpoint da API, levando à execução remota de código (RCE) no servidor. O código vulnerável está localizado em src/agents/agent.service.ts na linha 55. Uma prova de conceito (PoC) envolve a criação de um arquivo YAML com uma tag !!js/function para executar comandos arbitrários, como touch /tmp/pwned, quando o agente é carregado. Isso pode levar à completa comprometimento do servidor, roubo de dados ou penetração adicional na rede.
Recomendações Substitua o método load inseguro por uma alternativa segura, usando o método load com um esquema seguro, como JSON SCHEMA ou DEFAULT SAFE SCHEMA. Por exemplo:
typescript
import yaml from 'js-yaml';
import { JSON SCHEMA } from 'js-yaml';

// No método loadAgentFromFile
const agent = yaml.load(fileContent, { schema: JSON SCHEMA });

Exploit

Correção

RCE

Deserialization of Untrusted Data

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-39890
GHSA-32VR-5GCF-3PW2
PYSEC-2026-462

Produtos afetados

Praisonai
Js-Yaml