CVE-2026-71886 in Bouncy Castleinformação

Sumário

de VulDB • 03/10/2026

No Bouncy Castle para Java anterior à versão 1.86, a API de alto nível do certificado OpenPGP aceitava uma certificação ou delegação de confiança de terceiros proveniente de qualquer chave componente do certificado emissor, sem exigir que essa chave tivesse sido autorizada a realizar certificações. Os métodos `OpenPGPCertificate.getCertificationBy()` e `getDelegationBy()` resolvem uma assinatura de terceiro-party correspondendo seu identificador da chave emissora contra todas as chaves do certificado de terceiros, verificando em seguida a cadeia de vinculação do componente emissor e a própria assinatura; no entanto, não era verificado se o componente emissor possuía a flag de chave de certificação (CERTIFY_OTHER) conforme descrito na seção 5.2.3.29 da RFC 9580 quando a assinatura foi criada. Uma subchave vinculada apenas com SIGN_DATA — a subchave de assinatura online do arranjo offline-primary exatamente para o qual essas flags existem — poderia, portanto, emitir uma certificação positiva de User ID sobre uma identidade controlada pelo atacante, ou uma delegação direta de confiança de introduzidor (introducer trust) em profundidade um e com total confiança. A API retornava isso como uma cadeia de assinaturas válida atribuída ao certificado de terceiros. Uma aplicação que tratasse `getCertificationBy(...).isValid()` ou `getDelegationBy(...)` como decisão de identidade ou de introduzidor confiável, atribuía a afirmação do atacante à chave primária offline. O mesmo ocorria com uma subchave RSA legada vinculada apenas para criptografia, cujo algoritmo é capaz de assinar. Isso não forja a assinatura da chave primária nem recupera nenhuma chave privada; ele promove uma subchave restrita já comprometida à autoridade de emissão de identidade da chave primária, invalidando o isolamento proporcionado pela separação das flags de chave. Uma certificação ou delegação de terceiros agora é atribuída ao certificado emissor apenas quando a chave componente que a criou for a chave primária, ou uma subchave que possua CERTIFY_OTHER no momento da criação da assinatura; assim, as subchaves com capacidade de certificação continuam sendo aceitas. As chaves primárias são aceitas independentemente das flags de sua chave, já que uma chave primária é por construção capaz de certificar e certificados sem o subpacote de flags de chave são comuns. Revogações de terceiros estão deliberadamente fora dessa regra, pois recusar honrá-las manteria a confiança ativa em vez de retirá-la.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Bcorg

Reservar

08/08/2026

Divulgação

03/10/2026

Moderação

aceite

Entrada

VDB-413340

EPSS

0.00167

KEV

não

Atividades

muito baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!