Búsca en Seguridad y Firewall


El paquete Node.js muy utilizado tiene una vulnerabilidad de inyección de código


La biblioteca Node.js la cual es muy descargada tiene una vulnerabilidad de inyección de comandos de alta gravedad revelada este mes.

Rastreado como  CVE-2021-21315 , el error afecta al componente npm "systemminformation", que obtiene alrededor de 800,000 descargas semanales y ha obtenido cerca de 34 millones de descargas hasta la fecha desde su inicio.


Error de inyección de comandos del sistema operativo solucionado

En pocas palabras, "systemminformation" es una biblioteca ligera de Node.js que los desarrolladores pueden incluir en su proyecto para recuperar información del sistema relacionada con la CPU, el hardware, la batería, la red, los servicios y los procesos del sistema.

Según el desarrollador del proyecto, se espera que los desarrolladores utilicen "información del sistema" en el backend.

"Node.js viene con información básica del sistema operativo, pero siempre quise un poco más. Así que se me ocurrió escribir esta pequeña biblioteca".

"Esta biblioteca aún está en progreso. Se supone que debe usarse como una biblioteca del lado del servidor / backend (definitivamente no funcionará dentro de un navegador)", afirma el desarrollador detrás del componente.

Sin embargo, la presencia de la falla de inyección de código dentro de la "información del sistema" significaba que un atacante podría ejecutar comandos del sistema inyectando cuidadosamente la carga útil dentro de los parámetros no desinfectados utilizados por el componente.

La solución que se muestra a continuación que entró en la versión  5.3.1 de "información del sistema" desinfecta los parámetros, verifica si son del  tipo de datos de cadena y, además, si el parámetro había contaminado el prototipo en algún momento, antes de invocar más comandos.

Los usuarios de "systemminformation" deben actualizar a las versiones 5.3.1 y superiores para resolver la vulnerabilidad CVE-2021-21315 en su aplicación.

Alternativa...

Para los desarrolladores que no pueden actualizar a la versión fija, el editor del proyecto ha compartido información sobre una solución alternativa que se puede adoptar en su lugar.

Esto nuevamente implica limpiar los parámetros de cualquier carácter ofensivo y validar adecuadamente si son del tipo de datos de cadena .

"Como solución alternativa en lugar de actualizar, asegúrese de verificar o desinfectar los parámetros de servicio que se pasan a  si.inetLatency () ,  si.inetChecksite () ,  si.services () ,  si.processLoad ()  ... solo permiten cadenas , rechace cualquier arreglo. El saneamiento de cadenas funciona como se esperaba ", se lee en el aviso de seguridad asociado de npm  .

Se recomienda a los desarrolladores de Node.js que se aseguren de que sus aplicaciones desinfecten adecuadamente la entrada del usuario antes de usarla en los comandos y consultas de la base de datos.

Los usuarios también deben visitar periódicamente los avisos de seguridad de npm  para obtener información sobre las últimas correcciones de seguridad realizadas en los componentes de Node.js.

https://www.npmjs.com/advisories/1628

Bleeping Computer...