4 votes

État de vue invalide depuis ASP.NET Oracle Padding Vulnerability Patch de sécurité

Depuis l'installation du correctif de sécurité pour la vulnérabilité ASP.NET Oracle Padding, tous les utilisateurs qui restaient connectés à notre site reçoivent des messages d'erreur lorsqu'ils accèdent à n'importe quelle page.

Les erreurs enregistrées sur le serveur sont les suivantes

System.Web.UI.ViewStateException: Invalid viewstate. 
Client IP: xxx.xxx.xxx.xxx
Port: 55796
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
ViewState: l4nsXEvWcOwlDpmdbxw916bpHoPiqdBP7Syb+zCQAv44xv/r3oLtETKTL28/Gts6
Referer: 
Path: /product/4795/fender-usa-deluxe-stratocaster-mn-olympic-white-pearl

Lorsque les erreurs personnalisées sont désactivées, l'utilisateur voit les informations suivantes

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 

[ViewStateException: Invalid viewstate. 
Client IP: xxx.xxx.xxx.xxx
Port: 3588
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 2.0.50727; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
ViewState: s0toPCu7bxkB7a3G+KTxawY3ILf1qunZyIqNBKg8xSoqY2BkWIUCJAHKFKo2RnJw
Referer: 
Path: /]

[HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +118
System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState) +13
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +238
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +5
System.Web.Mvc.AntiForgeryDataSerializer.Deserialize(String serializedToken) +90

La solution à ce problème consiste à supprimer tous les cookies et à se reconnecter, mais il est évident qu'un utilisateur moyen ne saura pas comment procéder et je crains qu'il ne pense que notre site est en panne.

Y a-t-il quelque chose que je puisse faire à ce sujet, comme forcer les personnes qui étaient connectées à se reconnecter ?

Merci pour toute l'aide que vous pourrez m'apporter

2voto

FlySwat Points 61945

Il n'y a probablement pas moyen d'éviter cela. S'ils ont modifié le code de génération/validation des clés, tous les cookies de clés actuellement générés seront désormais invalides.

Vous pouvez capturer l'exception en utilisant un gestionnaire d'erreur dans global.asax (ou un httpmodule), et tenter de supprimer le cookie d'authentification des formulaires de l'ordinateur de l'utilisateur.

Cela peut faire fonctionner les choses.

0voto

Dan Iveson Points 953

Je dis cela sans connaître la vulnérabilité ou le correctif, mais.. :

Si le problème se produit dans l'application, essayez d'attraper l'exception ou les exceptions qui provoquent la page d'erreur et mettez en place une page personnalisée expliquant les étapes nécessaires pour procéder. Si le problème se produit au niveau du serveur, il peut y avoir toute une série de paramètres (dans IIS) qui peuvent être utiles ou non.

0voto

eglasius Points 26221

Ce que vous décrivez ne ressemble pas à un ViewState invalide mais à des cookies d'authentification invalides.

si vous êtes sûr qu'il s'agit du ViewState, alors ils soumettent les pages qu'ils ont ouvertes dans leur navigateur / cela n'a rien à voir avec les cookies.

En ce qui concerne les cookies d'authentification, je m'attendrais à ce que l'autorisation asp.net redirige vers votre page de connexion. Faites-vous quelque chose de personnalisé avec les tickets/cookies d'authentification ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X