# CVE-2026-4601 - Recuperação de Chave Privada DSA via Passo Criptográfico Ausente
> [!high] CVSS 9.1 - Crítico - Recuperação de Chave Privada DSA na jsrsasign
> Passo criptográfico ausente (CWE-325) na função `KJUR.crypto.DSA.signWithMessageHash` da biblioteca JavaScript **jsrsasign** (versões anteriores a 11.1.1) permite que um atacante recupere a chave privada da parte assinante forçando os valores `r` ou `s` a zero. Comprometimento total de identidade digital. Patch disponível na versão 11.1.1.
## Visão Geral
CVE-2026-4601 é uma vulnerabilidade de **passo criptográfico ausente** (CWE-325) na biblioteca JavaScript [[jsrsasign]], afetando versões anteriores a 11.1.1. A falha está no processo de assinatura DSA na função `KJUR.crypto.DSA.signWithMessageHash`: quando os valores intermediários `r` ou `s` resultam em zero durante o processo de assinatura, a biblioteca emite a assinatura inválida sem repetir a operação com novos valores aleatórios - como deveria ocorrer segundo a específicação DSA. Um atacante que consiga observar ou forçar esse comportamento anômalo pode então resolver matematicamente o valor `x` (chave privada) a partir dos dados da assinatura defeituosa.
O impacto é um dos mais graves em criptografia assimétrica: a recuperação da chave privada compromete permanentemente a identidade digital da vítima, permitindo forjamento de qualquer assinatura em seu nome, descriptografia de comúnicações e comprometimento de todos os sistemas que confiam nessa identidade. Esta CVE complementa [[cve-2026-4600|CVE-2026-4600]] no mesmo cluster de vulnerabilidades jsrsasign. Red Hat classifica como "importante" com CVSS 8.7, afetando também Migration Toolkit for Virtualization e Red Hat Quay 3. A mitigação de longo prazo recomendada é migração de DSA para ECDSA, alinhada a [[m1041-encrypt-sensitive-information|M1041]].
> [!latam] Relevância LATAM
> Aplicações Node.js do setor [[financial|financeiro]] brasileiro que utilizam assinatura DSA para autenticação mútua TLS, assinatura de tokens JWT ou autenticação de APIs são diretamente afetadas. A natureza da falha - recuperação irrevogável de chave privada - representa risco existencial para sistemas de identidade digital. Equipes de desenvolvimento devem atualizar jsrsasign para 11.1.1 imediatamente, revogar e regenerar chaves DSA expostas, e considerar migração definitiva para ECDSA.
## Resumo
**CVE-2026-4601** é uma vulnerabilidade do tipo **Missing Cryptographic Step** (CWE-325) encontrada na biblioteca JavaScript [[jsrsasign]] em versões anteriores a 11.1.1. A falha afeta o processo de assinatura DSA na função `KJUR.crypto.DSA.signWithMessageHash`.
A vulnerabilidade permite que um atacante **recupere a chave privada** da parte assinante forçando os valores `r` ou `s` a serem zero. A biblioteca emite uma assinatura inválida sem repetir a operação, e o atacante pode então resolver o valor `x` (chave privada) a partir da assinatura resultante. A exploração bem-sucedida compromete completamente a segurança criptográfica do sistema afetado. A vulnerabilidade foi corrigida na versão 11.1.1 lançada em 23 de março de 2026.
**Pontuação de risco:**
- CVSS v3.1: **9.1** (Crítico)
- Red Hat CVSSv3: 8.7 (importante)
- EPSS: Em análise pelo NVD
- CISA KEV: Não listado
- Exploit público: Não confirmado públicamente
## Impacto Técnico
Um atacante que explore esta vulnerabilidade com sucesso pode:
- **Recuperação de chave privada:** obter a chave privada DSA da vítima através de análise de assinaturas inválidas emitidas pela biblioteca
- **Comprometimento total de identidade digital:** forjar qualquer assinatura em nome da vítima após recuperar a chave privada
- **Comprometimento de confidencialidade:** descriptografar mensagens cifradas com a chave privada comprometida
- **Escalada para outros sistemas:** utilizar a chave privada recuperada para comprometer outros sistemas que confiam nessa identidade
**Impacto para organizações LATAM/Brasil:**
Aplicações Node.js no [[financial|setor financeiro]] brasileiro que utilizam assinatura DSA para autenticação mútua TLS, assinatura de tokens JWT ou autenticação de APIs estão diretamente expostas. A natureza da falha - recuperação de chave privada - representa um dos impactos mais graves possíveis em criptografia assimétrica.
## 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.
## Patch e Mitigação
**Patch oficial:**
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-4601
- Red Hat Advisory: CVE-2026-4601 (lançado 23/03/2026)
- Pacotes afetados no Red Hat: Migration Toolkit for Virtualization, Red Hat Quay 3
- Versão corrigida: **11.1.1**
**Como aplicar:**
1. Verificar a versão atual: `npm list jsrsasign`
2. Atualizar: `npm install
[email protected]` ou `npm update jsrsasign`
3. Verificar todas as dependências transitivas que possam usar jsrsasign internamente
4. Testar funcionalidades de assinatura DSA após a atualização
5. Revogar e regenerar quaisquer chaves privadas DSA que possam ter sido expostas
**Mitigações temporárias:**
- Migrar de DSA para ECDSA (recomendado - DSA é considerado legado) ou RSA
- Desabilitar funcionalidades de assinatura DSA enquanto o patch não é aplicado
- Monitorar logs de aplicação por padrões de assinatura anômalos (valores r ou s iguais a zero)
## Exploração Ativa
**Status atual:** Sem evidência de exploração ativa confirmada
**Notas:** A exploração requer que o atacante consiga observar ou forçar assinaturas inválidas da parte alvo, o que pode ser possível em protocolos que permitem múltiplas tentativas de assinatura. Red Hat classifica como "importante" indicando risco real, mas sem evidências de exploração em larga escala ainda.
## CVEs Relacionados (Família jsrsasign)
Este CVE faz parte de um cluster de vulnerabilidades descobertas na biblioteca jsrsasign:
- [[cve-2026-4600|CVE-2026-4600]] - Falsificação de assinatura DSA via parâmetros de domínio maliciosos · 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 expoente negativo · CVSS 7.5
- **CVE-2026-4603** - DoS via divisão por zero em JSON Web Key · CVSS 5.9
## CISA KEV
Esta vulnerabilidade **não está listada** no CISA KEV Catalog. Monitorar caso exploração ativa seja confirmada.
## Notas Relacionadas
**CVEs relacionados:** [[cve-2026-4600|CVE-2026-4600]] · [[cve-2026-4599|CVE-2026-4599]]
**TTPs relacionadas:** [[t1078-valid-accounts|T1552 - Unsecured Credentials]] · [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]]
**Setores em risco:** [[financial]] · [[technology]]