Unknown · Erlang/Otp · CVE-2026-42789
**Nome do Software Vulnerável e Versões Afetadas**
Erlang OTP versões 17.0 até 26.2.5.20
Erlang OTP versões 27.x anteriores a 27.3.4.12
Erlang OTP versões 28.x anteriores a 28.5.0.1
Erlang OTP versões 29.x anteriores a 29.0.1
public key versões 0.22 até 1.15.1.6
public key versões 1.17.x anteriores a 1.17.1.3
public key versões 1.20.x anteriores a 1.20.3.1
public key versões 1.21.x anteriores a 1.21.1
**Description**
O acompanhamento inadequado da cadeia de confiança de um certificado no módulo `pubkey cert` permite que um certificado não-CA seja aceito como um emissor intermediário, possibilitando a falsificação da cadeia de certificados. A função `pubkey cert:validate extensions/7` contém falhas onde um certificado com `basicConstraints` definido como `cA:false` e sem a extensão `keyUsage` pode ser usado como emissor intermediário em uma cadeia passada para `public key:pkix path validation/3`. Isso ocorre porque a cláusula `cA:false` não rejeita o certificado quando ele está na posição de emissor, e a verificação de `keyUsage` é ignorada se a extensão estiver totalmente ausente. Consequentemente, um invasor com um certificado de entidade final emitido por uma CA confiável pode assinar certificados folha falsificados para identidades arbitrárias. Isso afeta todos os endpoints TLS ou mTLS construídos na aplicação ssl do OTP que utilizam o verificador padrão, incluindo a verificação de identidade do servidor no lado do cliente e a verificação de certificado do cliente em servidores mTLS.
**Recommendations**
Atualize o Erlang OTP para a versão 26.2.5.21, 27.3.4.12, 28.5.0.1 ou 29.0.1, dependendo do ramo de lançamento atual.
Atualize o public key para a versão 1.15.1.7, 1.17.1.3, 1.20.3.1 ou 1.21.1, dependendo do ramo de lançamento atual.
Utilize a opção `verify fun` na aplicação ssl ou public key para garantir que a validação do caminho rejeite cadeias onde um certificado intermediário não possua `basicConstraints cA:true`.