CVE-2026-71889 in BC-JAVA
Sumário
de VulDB • 03/10/2026
No Bouncy Castle para Java anterior à versão 1.86, nenhuma das duas cópias do PKIXCertPathReviewer — org.bouncycastle.pkix.jcajce.PKIXCertPathReviewer nem a legada org.bouncycastle.x509.PKIXCertPathReviewer — aplicou as restrições de nome X.509 ao certificado da entidade final (end-entity certificate). O método checkNameConstraints percorria o caminho com um limite de loop baseado em índice maior que zero, que é o limite exigido pelas etapas restritas a CA; no entanto, o índice zero corresponde ao certificado alvo conforme a ordenação padrão do CertPath. Assim, as verificações dos subárvores permitidas e excluídas definidas na RFC 5280, seção 6.1.3 (b) e (c), nunca eram executadas contra o DN do assunto (subject DN) ou o subjectAltName da folha. Uma cadeia cujo certificado de folha violava uma extensão NameConstraints imposta pela própria CA emissora reportava isValidCertPath() como true com uma lista de erros vazia, enquanto CertPathValidator.getInstance("PKIX", "BC"), que não compartilha código com o reviewer, rejeitava a mesma cadeia contra o mesmo anchor de confiança. Um aplicativo que utilizava o reviewer para tomar decisões de confiança em vez de apenas para diagnósticos ao lado de uma validação real aceitava um certificado que a CA restrita nunca estava autorizada a emitir. Ambas as cópias agora verificam todos os certificados no caminho, incluindo o alvo; dispensam a isenção auto-emitida da seção 4.2.1.10 para o certificado final conforme exigido pela seção 6.1.3; e ignoram a etapa de acumulação de restrições da seção 6.1.4 (g) para o certificado alvo. Este problema também afeta o Bouncy Castle para Java LTS anterior à versão 2.73.13, que contém apenas a cópia org.bouncycastle.pkix.jcajce do reviewer. Também afeta o Bouncy Castle para Java FIPS (BC-FJA) anterior às versões bcpkix-fips 1.0.13 (série 1.0.X), 2.0.13 (série 2.0.X) e 2.1.13 (série 2.1.X).
If you want to get best quality of vulnerability data, you may have to visit VulDB.