# CVE-2026-4600 - Falsificação de Assinatura DSA via Parâmetros de Domínio Maliciosos > [!high] CVSS 9.1 - Crítico - Falsificação de Assinatura DSA na Biblioteca jsrsasign > Verificação criptográfica inadequada (CWE-347) na biblioteca JavaScript **jsrsasign** (versões anteriores a 11.1.1) permite forjar assinaturas DSA e certificados X.509 aceitos como legítimos fornecendo parâmetros de domínio maliciosos (`g=1`, `y=1`, `r=1`). PoC disponível via Snyk. Patch na versão 11.1.1. ## Visão Geral CVE-2026-4600 é uma vulnerabilidade de **verificação criptográfica inadequada** (CWE-347) na biblioteca JavaScript [[jsrsasign]], amplamente utilizada em aplicações Node.js para operações de assinatura digital e válidação de certificados. A falha afeta a função `KJUR.crypto.DSA.setPublic` e o fluxo de verificação em `src/dsa-2.0.js`: ao fornecer parâmetros de domínio DSA maliciosos como `g=1`, `y=1` com `r=1`, a equação matemática de verificação se torna trivialmente verdadeira para qualquer hash, permitindo que qualquer assinatura DSA forjada seja aceita como válida pela função `X509.verifySignature()`. O impacto prático é severo para sistemas que dependem de assinatura DSA para autenticação: qualquer atacante pode criar documentos ou tokens com assinaturas fraudulentas aceitas como legítimas pelo código vulnerável, contornando controles de autenticação e integridade. Esta CVE faz parte de um cluster de quatro vulnerabilidades descobertas na biblioteca jsrsasign em março de 2026: [[cve-2026-4601|CVE-2026-4601]] (recuperação de chave privada, CVSS 9.1), CVE-2026-4599 (nonces tendenciosos, CVSS 9.1) e CVE-2026-4602 (expoente negativo, CVSS 7.5). As TTPs relevantes incluem [[t1190-exploit-public-facing-application|T1190]] e [[t1588-obtain-capabilities|T1588]]. > [!latam] Relevância LATAM > A biblioteca jsrsasign é amplamente utilizada em aplicações Node.js de fintechs e plataformas de pagamento que operam no Brasil e América Latina. Sistemas que utilizam verificação de assinaturas DSA ou válidação de certificados X.509 via jsrsasign para transações do setor [[financial|financeiro]] estão diretamente expostos. A atualização para jsrsasign 11.1.1 é obrigatória; equipes de desenvolvimento devem auditar dependências transitivas e considerar migração de DSA para ECDSA, algoritmo considerado mais moderno e seguro. ## Resumo **CVE-2026-4600** é uma vulnerabilidade do tipo **Improper Verification of Cryptographic Signature** (CWE-347) encontrada na biblioteca JavaScript [[jsrsasign]] em versões anteriores a 11.1.1. A falha afeta a válidação de parâmetros de domínio DSA na função `KJUR.crypto.DSA.setPublic` e no fluxo de verificação DSA/X509 em `src/dsa-2.0.js`. Um atacante pode forjar assinaturas DSA ou certificados X.509 que a função `X509.verifySignature()` aceita como legítimos, fornecendo parâmetros de domínio maliciosos como `g=1`, `y=1` e um valor fixo `r=1`, tornando a equação de verificação verdadeira para qualquer hash. A vulnerabilidade foi descoberta por **Kr0emer** e divulgada públicamente em 16 de fevereiro de 2026. **Pontuação de risco:** - CVSS v3.1: **9.1** (Crítico) - EPSS: Em análise pelo NVD - CISA KEV: Não listado - Exploit público: Proof-of-concept disponível (Snyk - SNYK-JS-JSRSASIGN-15370940) ## Impacto Técnico Um atacante que explore esta vulnerabilidade com sucesso pode: - **Falsificação de assinatura digital:** aceitar como válidas assinaturas DSA e certificados X.509 totalmente forjados - **Bypass de autenticação:** contornar sistemas de autenticação baseados em certificados DSA - **Comprometimento de integridade:** aceitar mensagens ou documentos não autorizados como legítimos - **Ataques à cadeia de confiança:** forjar certificados X.509 aceitos por aplicações que dependem da biblioteca **Impacto para organizações LATAM/Brasil:** jsrsasign é amplamente utilizado em aplicações Node.js, especialmente em fintechs, plataformas de pagamento e serviços de autenticação que operam no Brasil e América Latina. Aplicações que utilizam verificação de assinaturas DSA ou válidação de certificados X.509 via jsrsasign são diretamente afetadas. O risco é elevado para sistemas de [[financial|setor financeiro]] que dependem de assinatura digital para transações. ## Produtos Afetados | Vendor | Produto | Versão Afetada | Versão com Fix | |--------|---------|----------------|----------------| | jsrsasign | jsrsasign (npm) | < 11.1.1 | 11.1.1 | **Não afetado:** jsrsasign versão 11.1.1 ou superior com patch aplicado. ## Patch e Mitigação **Patch oficial:** - Snyk Advisory: SNYK-JS-JSRSASIGN-15370940 - Versão corrigida: **11.1.1** - Data de lançamento do patch: 2026-03-22 **Como aplicar:** 1. Verificar a versão atual: `npm list jsrsasign` 2. Atualizar para a versão segura: `npm install [email protected]` ou `npm update jsrsasign` 3. Verificar em `package.json` que não há restrições que impeçam o upgrade 4. Reiniciar os serviços/aplicações após a atualização 5. Auditar o código para identificar todos os pontos que utilizam `KJUR.crypto.DSA.setPublic` ou `X509.verifySignature()` **Mitigações temporárias** (quando patch não é imediatamente possível): - Desabilitar funcionalidades que dependem de verificação DSA ou X.509 se não forem críticas - Substituir verificação DSA por ECDSA ou RSA, menos afetados por este tipo de ataque - Implementar válidação adicional de parâmetros de domínio antes de chamar a função vulnerável ## Exploração Ativa **Status atual:** PoC público disponível - sem evidência de exploração ativa em larga escala **Evidências de exploração:** - Snyk (2026-03-22): Proof-of-concept públicado - verificação com parâmetros `g=1`, `y=1`, `r=1` contorna toda válidação de assinatura DSA **Campanhas associadas:** Nenhuma campanha documentada até o momento. ## CVEs Relacionados (Família jsrsasign) Esta CVE faz parte de um cluster de vulnerabilidades descobertas na biblioteca jsrsasign: - [[cve-2026-4601|CVE-2026-4601]] - Missing Cryptographic Step em assinatura DSA (recuperação de chave privada) · CVSS 9.1 - **CVE-2026-4599** - Recuperação de chave privada via nonces DSA tendenciosos · CVSS 9.1 - **CVE-2026-4602** - Bypass de verificação via tratamento de expoente negativo · CVSS 7.5 - **CVE-2026-4603** - DoS via divisão por zero em operações JSON Web Key · CVSS 5.9 ## CISA KEV Esta vulnerabilidade **não está listada** no CISA KEV Catalog. Monitorar atualizações caso evidências de exploração ativa em produção se tornem disponíveis. ## Notas Relacionadas **CVEs relacionados:** [[cve-2026-4601|CVE-2026-4601]] · [[cve-2026-4599|CVE-2026-4599]] **TTPs relacionadas:** [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] · [[t1588-obtain-capabilities|T1588 - Obtain Capabilities]] **Setores em risco:** [[financial]] · [[technology]] ## Referências - [NVD - CVE-2026-4600](https://nvd.nist.gov/vuln/detail/CVE-2026-4600)