¿Es jQuery 2.1.1 vulnerable a la inyección de comandos del sistema operativo?

1

Barracuda ha encontrado varias instancias de vulnerabilidades de inyección de comandos del sistema operativo en un sitio web estático. En cada caso, la URL vulnerable era el propio complemento jQuery (versión 2.1.1).

Barracuda califica cada gravedad como crítica y la confianza como cierta.

  

Se produce un ataque de inyección de comando del sistema operativo cuando un atacante intenta   Ejecutar comandos de nivel de sistema a través de una aplicación vulnerable.   Las aplicaciones se consideran vulnerables a la inyección de comandos del sistema operativo.   atacar si utilizan la entrada del usuario en un comando de nivel de sistema.

     

CVSS

     

Puntuación: 7.5

     

Vector: AV: N / AC: L / Au: N / C: P / I: P / A: P

     

Fondo de la remediación

     

Minimice el uso de comandos del sistema operativo en aplicaciones web, ya que siempre son una   riesgo de seguridad. Cuando sea necesario usar un comando del sistema operativo que incluya   entrada de usuario, restregue exhaustivamente todas las entradas de usuario para maliciosos   caracteres antes de ejecutar el comando.

Los detalles del problema son "El campo v se envió con el valor / bin / cat / etc / passwd. La raíz del marcador:" seguido de una gran parte de jQuery minificado (6 páginas), y termina con "fa +"; expira = jue, 01 ene Se encontró 1970 00:00:00 en la respuesta, lo que sugiere que se ejecutó el comando inyectado y, por lo tanto, que la inyección del comando OS es posible. ".

También había High Severity en el mismo complemento de jQuery para Directory Traversal:

  

Directory Traversal, también conocido como Path Traversal, "dot-dot-slash" y   "Retroceso", es cuando un error de servidor o de código mal configurado permite un   El atacante accede a archivos fuera de la carpeta raíz web. Estos archivos pueden   contienen código fuente, configuración y archivos críticos del sistema,   incluyendo archivos de contraseña.

     

Puntaje CVSS: 6.8

     

Vector:   AV: N / AC: M / Au: N / C: P / I: P / A: P

     

Fondo de la remediación

     

No usar la entrada del usuario   que no está correctamente desinfectado como parte de un componente de ruta. Es   aún más recomendable nunca utilizar la entrada del usuario en un componente de ruta en   todos.

Nuevamente, los detalles fueron "El parámetro v se envió con el valor / etc / passwd, y la respuesta contenía el valor raíz:" seguido de 6 páginas de jQuery minificado.

Estoy revisando todos los formularios para verificar que, de hecho, los insumos están correctamente desinfectados, pero el informe parece identificar las vulnerabilidades en jQuery 2.1.1.

Eso me parece poco probable, pero me gustaría poder saber con seguridad si estos son, de hecho, falsos positivos. Estaré actualizando a una versión más reciente de jQuery, solo para estar seguro. ¿Qué pasos debo seguir más allá de investigar las entradas del formulario y actualizar jQuery?

    
pregunta Beofett 27.05.2016 - 14:49
fuente

2 respuestas

6

Es un falso positivo.

En ambos casos, el escáner solo buscó "root:", asumiendo que es parte de un archivo passwd. La línea que se encuentra es:

root:function(a){return a===o}

Esto obviamente no es de un archivo de contraseña. También es muy poco probable que exista alguna vulnerabilidad del lado del servidor en una solicitud de un archivo jQuery, generalmente son archivos estáticos que se sirven tal como están.

El hecho de que el escáner informe "cierto" es un poco sorprendente, ya que "raíz:" es una palabra clave demasiado general para una calificación de confianza tan alta.

Al obtener un informe como este, debe verificar el resultado. En estos casos, deberías:

  • busque la palabra clave que le proporcione el escáner, "root:" en este caso, y vea si realmente es lo que el escáner cree que es.
  • adapta la carga útil y ve qué pasa. En el caso de la inyección de comandos, puede probar otros comandos y ver si se ejecutan; en el caso de la inclusión de archivos, debe intentar incluir otros archivos.
respondido por el tim 27.05.2016 - 15:25
fuente
4

No, JQuery es una tecnología del lado del cliente, que en realidad es una envoltura de JavaScript para usar solo en un navegador web

JavaScript no tiene la capacidad de ejecutar comandos del sistema operativo cuando los invoca un navegador, a menos que la configuración de seguridad se reduzca dentro de Internet Explorer .

Y JQuery no puede proporcionar ninguna funcionalidad adicional que evite esto.

Esto parece ser un falso positivo debido a que el JQuery minimizado fue devuelto y confundido por el escáner de vulnerabilidades al devolver un archivo de sistema sensible del lado del servidor.

    
respondido por el SilverlightFox 27.05.2016 - 15:24
fuente