CoreWCF przed wersjami 1.8.1 i 1.9.1 nieprawidłowo waliduje tokeny SAML 1.1 i SAML 2.0, co pozwala nieuwierzytelnionemu atakującemu zdalnie podszyć się pod dowolnego użytkownika wystawionego przez zaufany STS. Podatność otrzymała maksymalny wynik CVSS 10.0, co czyni ją ekstremalnie krytyczną.
▸ Pokaż oryginał (EN)
CoreWCF is a port of the service side of Windows Communication Foundation (WCF) to .NET Core. Prior to 1.8.1 and 1.9.1, CoreWCF SAML 1.1 and SAML 2.0 token validation does not correctly resolve the issuer signing key or require signed tokens when IdentityConfiguration is used with federated bindings, allowing an unauthenticated remote attacker to impersonate any principal the trusted STS could issue. This issue is fixed in versions 1.8.1 and 1.9.1.
Mechanizm walidacji tokenów SAML w CoreWCF, przy użyciu IdentityConfiguration z federated bindings, nie rozwiązuje poprawnie klucza podpisującego wystawcy (issuer signing key) oraz nie wymaga, aby tokeny były podpisane. Oznacza to, że atakujący może dostarczyć sfabrykowany token SAML bez prawidłowego podpisu kryptograficznego, a biblioteka zaakceptuje go jako autentyczny. Błąd dotyczy zarówno CWE-290 (Authentication Bypass by Spoofing) jak i CWE-347 (Improper Verification of Cryptographic Signature).
Nieuwierzytelniony zdalny atakujący może podszyć się pod dowolny podmiot (principal), który mógłby zostać wystawiony przez zaufany Security Token Service (STS), uzyskując tym samym nieautoryzowany dostęp do zasobów chronionych przez CoreWCF.
Należy niezwłocznie zaktualizować CoreWCF do wersji 1.8.1 lub 1.9.1, w których podatność została naprawiona. Patche dostępne są w repozytoriach GitHub projektu CoreWCF.
CoreWCF we wszystkich wersjach przed 1.8.1 i 1.9.1, korzystających z walidacji tokenów SAML 1.1 lub SAML 2.0 z IdentityConfiguration i federated bindings.
Podatność dotyczy projektu CoreWCF, który jest portem usługowej strony Windows Communication Foundation (WCF) na platformę .NET Core. Poprawki zostały udostępnione w postaci commitów oraz wydań v1.8.1 i v1.9.1 w repozytorium GitHub projektu.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N