Описание
Sustainsys.Saml2 Insufficient Identity Provider Issuer Validation
Impact
When a response is processed, the issuer of the Identity Provider is not sufficiently validated. This could allow a malicious identity provider to craft a Saml2 response that is processed as if issued by another identity provider. It is also possible for a malicious end user to cause stored state intended for one identity provider to be used when processing the response from another provider.
An application is impacted if they rely on any of these features in their authentication/authorization logic:
- the issuer of the generated identity and claims
- items in the stored request state (AuthenticationProperties)
Patches
Patched in version 2.9.2 and 1.0.3. All previous versions are vulnerable.
Workarounds
The AcsCommandResultCreated notification can be used to add the validation required if an upgrade to patched packages is not possible.
References
The patch is linked to https://github.com/Sustainsys/Saml2/issues/712 and https://github.com/Sustainsys/Saml2/issues/713
Пакеты
Sustainsys.Saml2
< 1.0.3
1.0.3
Sustainsys.Saml2
>= 2.0.0, < 2.9.2
2.9.2
Kentor.AuthServices
<= 0.23.0
Отсутствует
Связанные уязвимости
Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider. Prior to versions 1.0.3 and 2.9.2, when a response is processed, the issuer of the Identity Provider is not sufficiently validated. This could allow a malicious identity provider to craft a Saml2 response that is processed as if issued by another identity provider. It is also possible for a malicious end user to cause stored state intended for one identity provider to be used when processing the response from another provider. An application is impacted if they rely on any of these features in their authentication/authorization logic: the issuer of the generated identity and claims; or items in the stored request state (AuthenticationProperties). This issue is patched in versions 2.9.2 and 1.0.3. The `AcsCommandResultCreated` notification can be used to add the validation required if an upgrade to patched packages is not possible.