Error de seguridad de JsonWebToken abre servidores a RCE

Iniciado por AXCESS, Enero 10, 2023, 09:14:05 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

El paquete JsonWebToken juega un papel importante en la funcionalidad de autenticación y autorización para muchas aplicaciones

Se descubrió una vulnerabilidad de alta gravedad (CVE-2022-23529) en el popular proyecto de cifrado de código abierto JsonWebToken (JWT), que los atacantes podrían utilizar para lograr la ejecución remota de código (RCE) en un servidor de cifrado de destino.

El estándar abierto JWT define un método para transferir información de forma segura mediante la codificación y firma de datos JSON. Según los investigadores de la Unidad 42 de Palo Alto Networks, una explotación de la vulnerabilidad da como resultado que el servidor verifique una solicitud de token web JSON creada con fines malintencionados.

"Ejecutar un código malicioso en un servidor puede provocar un gran daño y pérdida de confidencialidad, integridad y también puede causar una denegación de servicio", advierte el investigador de seguridad de la Unidad 42, Artur Oleyarsh. "Los sistemas relacionados y que se comunican con el servidor vulnerable también pueden sufrir, por lo que el potencial de ataque y las consecuencias una vez que el sistema es vulnerable para una ejecución remota de código son significativos".

El problema representa una amenaza para todos los que usan versiones de JWT anteriores e incluyen v8.5.1. La versión parcheada del paquete es v9.0.0, según una publicación del 9 de enero de Unit 42.

Oleyarsh explica que, por lo general, las vulnerabilidades relacionadas con los tokens web JSON están relacionadas con diferentes técnicas de falsificación de tokens que permiten a un actor malicioso eludir los mecanismos de autenticación y autorización.

"Esto les da [la] oportunidad de hacerse cargo de las cuentas, suplantar a los usuarios y elevar los privilegios", dice. Sin embargo, "esta última vulnerabilidad es única por varias razones. Primero, aquí estamos hablando de ejecutar código en un host que verifica tokens web JSON".

Debajo del capó de CVE-2022-23529

En lugar de eludir los mecanismos de autenticación o autorización, el error proporciona una forma para que un atacante cibernético obtenga el control sobre un parámetro de recuperación de clave de la función "jwt.verify" (conocida como secretOrPublicKey).

En un exploit de prueba de concepto, la Unidad 42 pudo anular el método "toString()" del objeto clave.

"En JavaScript, cada objeto que hereda de Object.prototype, hereda el método toString()", dice Oleyarsh. "Por lo tanto, si hay una llamada de confianza ciega a ese método y controlamos el objeto clave, podemos anular su toString() con contenido malicioso y ejecutar código arbitrario".

Crece el uso de código abierto, junto con el nivel de amenazas cibernéticas


A medida que crece el uso de software de código abierto (OSS), también crece el interés de los atacantes cibernéticos por utilizar componentes y paquetes de software como JWT como vector de ataque.

"Estamos viendo a los actores de amenazas escanear activamente en busca de vulnerabilidades conocidas y explotarlas en cuestión de minutos", dice Oleyarsh. "Sin atención y conciencia sobre la seguridad del OSS, creo que veremos más y más ataques que aprovechen los problemas de seguridad del OSS".

Él dice que, como comunidad, los profesionales de la seguridad deben contribuir y cooperar para hacer que el software OSS sea más seguro.

"Algunos de los desarrolladores y mantenedores de OSS están creando soluciones teniendo en cuenta la seguridad, lo que significa que constantemente reparan vulnerabilidades de seguridad, buscan dependencias vulnerables y mantienen avisos de seguridad y los publican para que los usuarios puedan parchear las versiones no vulnerables, y algunos de ellos no lo son", señala Oleyarsh.

Cada vez más, se lanzan herramientas para ayudar a los equipos de los centros de operaciones de seguridad, administración de acceso e identidad y defensa a descubrir componentes vulnerables. OSV-Scanner de Google, que se lanzó en diciembre, por ejemplo, genera una lista de dependencias en un proyecto de desarrollo de software y verifica la base de datos OSV en busca de vulnerabilidades conocidas.

"Algunos están haciendo un gran trabajo creando soluciones maravillosas y creativas para muchos problemas y poniéndolos a disposición de cualquier persona sin cargo", dice Oleyarsh. "Si está implementando OSS dentro de su organización, es una buena práctica usar escáneres de paquetes OSS para buscar versiones vulnerables de los paquetes OSS que está utilizando, así como dependencias vulnerables".

Mientras tanto, Google también está poniendo su peso considerable detrás de un marco de política propuesto por el gobierno de EE. UU. destinado a reforzar la seguridad del software de código abierto, instando al sector privado a apoyar la iniciativa.

Desde una perspectiva manual, Oleyarsh agrega que los equipos deben echar un vistazo regular a las páginas de avisos de seguridad de los proyectos de OSS que utilizan para mantenerse al día sobre los errores, y considerar la implementación de herramientas de análisis de composición de software (SCA) para ayudar a rastrear todos los paquetes y módulos de código abierto utilizados por un proyecto para informar ese proceso.

Luego, "cuando encuentra un error que tiene implicaciones de seguridad, es una buena práctica comunicarse con los mantenedores a través de un chat privado e informar el problema e incluso sugerir y discutir la solución", dice.

Fuente:
DarkReading
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta