Reino: Security Features

Segurança de software não é o mesmo que software de segurança. Aqui, estamos interessados em tópicos como autenticação, controle de acesso, confidencialidade, criptografia e gestão de privilégios.

ASP.NET Misconfiguration: ViewStateMac Disabled

Abstract
Desabilitar a verificação de autenticação de mensagens (MAC) para estados de exibição pode permitir que invasores modifiquem o estado de exibição.
Explanation
No ASP.NET, o estado de exibição é um mecanismo para manter o estado persistente em formulários da Web entre postbacks. Os dados armazenados no estado de exibição não são confiáveis, pois não há um mecanismo para evitar ataques de reprodução. Confiar no estado de exibição é particularmente perigoso quando a verificação de autenticação de mensagens para estados de exibição está desabilitada. Desabilitar essa verificação permite que os invasores façam alterações arbitrárias nos dados armazenados no estado de exibição e pode abrir as portas para ataques contra um código que confia nesse estado de exibição. Os invasores podem usar esse tipo de erro para derrotar verificações de autenticação ou alterar os preços de itens.
Exemplo 1: O código a seguir desabilita verificações de autenticação de mensagens de estado de exibição.

Page.EnableViewStateMac = false;
References
[1] Swapneil Kumar Dash Deep Dive into .NET ViewState deserialization and its exploitation
[2] Standards Mapping - Common Weakness Enumeration CWE ID 353
[3] Standards Mapping - FIPS200 CM
[4] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[5] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[6] Standards Mapping - OWASP Application Security Verification Standard 4.0 3.5.3 Token-based Session Management (L2 L3), 10.3.2 Deployed Application Integrity Controls (L1 L2 L3)
[7] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[8] Standards Mapping - OWASP Mobile 2024 M8 Security Misconfiguration
[9] Standards Mapping - OWASP Top 10 2004 A10 Insecure Configuration Management
[10] Standards Mapping - OWASP Top 10 2010 A6 Security Misconfiguration
[11] Standards Mapping - OWASP Top 10 2013 A5 Security Misconfiguration
[12] Standards Mapping - OWASP Top 10 2017 A6 Security Misconfiguration
[13] Standards Mapping - OWASP Top 10 2021 A05 Security Misconfiguration
[14] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 2.2.3
[15] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 Requirement 2.2.3
[16] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 Requirement 2.2.3
[17] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 2.2.4
[18] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 2.2.4
[19] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 2.2.4
[20] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 2.2.4
[21] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 2.2.6
[22] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0.1 Requirement 2.2.6
[23] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 2.2 - Secure Defaults
[24] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 2.2 - Secure Defaults
[25] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 2.2 - Secure Defaults
[26] Standards Mapping - Web Application Security Consortium Version 2.00 Application Misconfiguration (WASC-15)
[27] Standards Mapping - Web Application Security Consortium 24 + 2 Insufficient Authentication
desc.semantic.dotnet.asp_net_misconfiguration_viewstatemac_disabled