Reino: Input Validation and Representation
Los problemas de validación y representación de entradas están causados por metacaracteres, codificaciones alternativas y representaciones numéricas. Los problemas de seguridad surgen de entradas en las que se confía. Estos problemas incluyen: «desbordamientos de búfer», ataques de «scripts de sitios», "SQL injection" y muchas otras acciones.
Struts 2: Duplicate Validators
Abstract
Existen varias referencias del validador Struts2 con el mismo nombre. Las referencias de validadores duplicadas son una indicación de que la validación no está actualizada.
Explanation
Se detectó más de una definición de validador en
Si se definen dos clases de validación con el mismo nombre, el validador Struts elige arbitrariamente una de las formas para usarla para la validación de entrada y descarta la otra. Es posible que esta decisión no se corresponda con las expectativas del programador. Además, indica que la lógica de validación no se mantiene y puede indicar que existen otros errores de validación más sutiles.
Es de vital importancia que la lógica de validación se mantenga y se mantenga sincronizada con el resto de la aplicación. La entrada sin marcar es la causa principal de algunos de los problemas de seguridad de software peores y más comunes de la actualidad. Los ataques Cross-Site Scripting, SQL Injection y las vulnerabilidades detectadas en el control de los procesos tienen todos su origen en la validación incorrecta o inexistente de entradas. Aunque las aplicaciones J2EE no suelen ser susceptibles a ataques de corrupción de memoria, si una aplicación J2EE interactúa con código nativo que no comprueba límites de matriz, un atacante puede usar un error de validación de entrada en la aplicación J2EE para lanzar un ataque de desbordamiento de búfer.
validators.xml
. Varias definiciones de validación con el mismo nombre pueden provocar un comportamiento inesperado.Si se definen dos clases de validación con el mismo nombre, el validador Struts elige arbitrariamente una de las formas para usarla para la validación de entrada y descarta la otra. Es posible que esta decisión no se corresponda con las expectativas del programador. Además, indica que la lógica de validación no se mantiene y puede indicar que existen otros errores de validación más sutiles.
Es de vital importancia que la lógica de validación se mantenga y se mantenga sincronizada con el resto de la aplicación. La entrada sin marcar es la causa principal de algunos de los problemas de seguridad de software peores y más comunes de la actualidad. Los ataques Cross-Site Scripting, SQL Injection y las vulnerabilidades detectadas en el control de los procesos tienen todos su origen en la validación incorrecta o inexistente de entradas. Aunque las aplicaciones J2EE no suelen ser susceptibles a ataques de corrupción de memoria, si una aplicación J2EE interactúa con código nativo que no comprueba límites de matriz, un atacante puede usar un error de validación de entrada en la aplicación J2EE para lanzar un ataque de desbordamiento de búfer.
References
[1] T. Husted et al. Struts in Action: Building Web Applications with the Leading Java Framework Manning Publications
[2] The Struts2 Validation Framework The Apache Foundation
[3] Standards Mapping - Common Weakness Enumeration CWE ID 101
[4] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-002754
[5] Standards Mapping - FIPS200 CM
[6] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[7] Standards Mapping - NIST Special Publication 800-53 Revision 4 SI-10 Information Input Validation (P1)
[8] Standards Mapping - NIST Special Publication 800-53 Revision 5 SI-10 Information Input Validation
[9] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[10] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[11] Standards Mapping - OWASP Top 10 2004 A10 Insecure Configuration Management
[12] Standards Mapping - OWASP Top 10 2010 A6 Security Misconfiguration
[13] Standards Mapping - OWASP Top 10 2013 A5 Security Misconfiguration
[14] Standards Mapping - OWASP Top 10 2017 A6 Security Misconfiguration
[15] Standards Mapping - OWASP Top 10 2021 A05 Security Misconfiguration
[16] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.10
[17] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[18] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation
[19] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation, Control Objective C.3.2 - Web Software Attack Mitigation
[20] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3510 CAT I
[21] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3510 CAT I
[22] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3510 CAT I
[23] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3510 CAT I
[24] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3510 CAT I
[25] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3510 CAT I
[26] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3510 CAT I
[27] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002560 CAT I
[28] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002560 CAT I
[29] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002560 CAT I
[30] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002560 CAT I
[31] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002560 CAT I
[32] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002560 CAT I
[33] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002560 CAT I
[34] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002560 CAT I
[35] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002560 CAT I
[36] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002560 CAT I
[37] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002560 CAT I
[38] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002560 CAT I
[39] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002560 CAT I
[40] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[41] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[42] Standards Mapping - Web Application Security Consortium Version 2.00 Application Misconfiguration (WASC-15)
desc.config.java.struts2_duplicate_validators