CVE-2026-71887
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W Bouncy Castle dla Java przed wersją 1.86 wysokopoziomowy interfejs API OpenPGP akceptował podpis danych wykonany przez podklucz podpisujący, którego sygnatura wiązania podklucza nie zawierała wbudowanego podpisu wiązania klucza podstawowego (certyfikacji krzyżowej), w przypadku, gdy to powiązanie pomija podpakiet Key Flags. RFC 9580 sek. 5.2.1.8 i ust. 10.1.3 wymagać osadzonego podpisu wiązania klucza podstawowego w każdym podkluczu, który może wystawiać podpisy; jest to własne oświadczenie podklucza, że należy on do klucza podstawowego, z którym jest powiązany. OpenPGPCertificate rozwiązał flagi kluczy podklucza na dwa różne sposoby. Funkcja isSigningKey() przechodzi przez getKeyFlags() i getApplyingSubpacket(), która powraca do klucza bezpośredniego klucza podstawowego lub podpisu własnego podstawowego identyfikatora użytkownika, gdy podpis wiążący pomija podpakiet, więc podklucz odziedziczył SIGN_DATA klucza podstawowego i jest liczony jako zdolny do podpisywania; VerifyEmbeddedPrimaryKeyBinding(), która wymusza to wymaganie, odczytuje własne zaszyfrowane podpakiety sygnatury wiązania, nie znajduje tam żadnych SIGN_DATA i zwraca wcześniej jako klucz niepodpisujący, nigdy nie żądając podpisu zwrotnego. Ten sam podklucz mógł zatem podpisywać - więc jego podpisy zostały przypisane do certyfikatu, a OpenPGPSignature.OpenPGPDocumentSignature.isValid() zwróciło wartość true - będąc jednocześnie zwolnionym z certyfikacji krzyżowej, gdzie GnuPG odrzuca identyczny certyfikat i komunikat. Osoba atakująca potrzebuje jedynie publicznego podklucza podpisu ofiary, który jest materiałem publicznym: wiąże go z własnym kluczem podstawowym za pomocą podpisu Subkey Binding, który jest w stanie wykonać, nie niosąc flag kluczowych ani wbudowanego podpisu Primary Key Binding, którego nie może wykonać bez prywatnego klucza podklucza, a strona ufająca weryfikująca jedną z rzeczywiście podpisanych wiadomości ofiary na podstawie tego certyfikatu zostaje poinformowana, że podpis jest ważny i otrzymuje certyfikat atakującego jako jego wystawcy. Ponieważ identyfikatory użytkowników certyfikatów są potwierdzane samodzielnie, weryfikator, który przypina odcisk palca podklucza lub identyfikator klucza podczas pobierania tożsamości z dołączonego certyfikatu, zgłasza prawdziwy podpis pod tożsamością wybraną przez atakującego. Jest to raczej błędne przypisanie prawdziwego podpisu niż sfałszowanie nowego: żaden klucz prywatny nie jest odzyskiwany, a podpis musi należeć do faktycznie wykonanego przeszczepionego podklucza. Niskopoziomowy interfejs API PGPSignature / PGPPublicKeyRing nie przeprowadza żadnych kontroli powiązań z założenia i nie ma na to wpływu. Flagi kluczy to instrukcja dotycząca klucza, do którego odnosi się podpis nośny (RFC 9580, rozdz. 5.2.3.29), więc podklucz nie dziedziczy ich już z podpisów klucza podstawowego obejmujących cały certyfikat: podpis podklucza wiązania, który pomija podpakiet, pozostawia teraz podklucz bez możliwości, a nie klucz podstawowy, co sprawia, że flagi podczas kontroli krzyżowej certyfikacji sprawdzają te same flagi, z którymi konsultowana jest każda inna decyzja. Preferencje i inne podpakiety niesione przez podpis klucza bezpośredniego są dziedziczone jak poprzednio, a sam klucz podstawowy, którego flagi zgodnie z prawem pochodzą z jego własnego klucza bezpośredniego lub podpisu własnego identyfikatora użytkownika, pozostaje niezmieniony.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org