Squirrel Bug permite a los atacantes ejecutar código en juegos y servicios en la nube - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Squirrel Bug permite a los atacantes ejecutar código en juegos y servicios en la nube

Hola y mil gracias por leerme. Soy Eduardo Arroyo y en el día de hoy hablaremos sobre Squirrel Bug permite a los atacantes ejecutar código en juegos y servicios en la nube

Squirrel Bug permite a los atacantes ejecutar código en juegos y servicios en la nube

La vulnerabilidad de lectura fuera de los límites permite a un atacante escapar de una VM Squirrel en juegos con millones de jugadores mensuales, como Counter-Strike: Global Offensive y Portal 2, y en servicios en la nube como Twilio Electric Imp.

Una vulnerabilidad de lectura fuera de los límites en el lenguaje de programación Squirrel permite a los atacantes eludir las restricciones de la zona de pruebas y ejecutar código arbitrario dentro de una máquina virtual (VM) Squirrel, lo que le da al atacante acceso completo a la máquina subyacente.

Dado el lugar donde vive Squirrel, en los juegos e integrado en el Internet de las cosas (IoT), el error potencialmente pone en peligro a los millones de jugadores mensuales que juegan videojuegos como Counter Strike ofensiva global y Portal 2, así como servicios en la nube como el Diablillo eléctrico Twilio Plataforma IoT, con su biblioteca de código fuente abierta lista para usar.

Ardilla es un lenguaje de programación de código abierto orientado a objetos utilizado por los videojuegos y los servicios en la nube para la personalización y el desarrollo de complementos. Es un lenguaje de secuencias de comandos ligero que se adapta al tamaño, el ancho de banda de la memoria y los requisitos en tiempo real de aplicaciones como videojuegos y sistemas integrados.

Los dos juegos mencionados anteriormente utilizan la biblioteca de juegos de Squirrel Engine para permitir que cualquiera pueda crear modos de juego y mapas personalizados.

Trazado como CVE ‑ 2021‑41556, La vulnerabilidad de lectura fuera de límites de Squirrel se puede aprovechar cuando se utiliza un motor Squirrel para ejecutar código que no es de confianza, como Twilio Electric Imp o algunos videojuegos.

La vulnerabilidad fue descubierta por SonarSource y detallada en una publicación publicado el martes. En ese artículo, los investigadores de vulnerabilidades Simon Scannell y Niklas Breitfeld sugirieron un escenario del mundo real en el que un atacante podría incrustar un script Squirrel malicioso en un mapa de la comunidad y distribuirlo a través del servidor de confianza. Taller de vapor: Un repositorio de mods para Steam Games que permite a los creadores cargar sus propios mods para una gran audiencia integrada, proporcionando a los jugadores habituales una forma fácil de obtener mods.

«Cuando el propietario de un servidor descarga e instala este mapa malicioso en su servidor, el script Squirrel se ejecuta, sale de su VM y toma el control de la máquina del servidor», explicaron los investigadores.

La falla de seguridad implica «acceso fuera de los límites a través de la confusión de índices» al definir las clases de Squirrel. «El hecho de que las banderas de bits se establezcan dentro de los índices es problemático, ya que es totalmente posible que un atacante cree una definición de clase con los métodos 0x02000000», explicaron los investigadores. Crearon la siguiente prueba de concepto (PoC) «muy simple»: solo un fragmento de código que podría explotarse para secuestrar un programa y darle al atacante el control total de la máquina virtual Squirrel.

Verificación teórica. Fuente: SonarSource.

«Las funciones rawset y rawget nos permiten acceder fácilmente a los miembros de una clase determinada», según el análisis. «En esta PoC, el intérprete de ardilla eliminará la referencia a un puntero nulo y por defecto segmentado porque la matriz _defaultvalues ​​aún no ha sido asignada».

Un atacante podría activar la vulnerabilidad de las siguientes formas:

  1. Creando una definición de clase con métodos 0x02000005 y campos 0x1
  2. Acceso al método con el índice correspondiente 0x02000005
  3. La macro _isfield () devuelve verdadero para este índice ya que se establece bitflag 0x02000000
  4. Se accede a la matriz _defaultvalues ​​con el índice 0x5. Sin embargo, solo contiene entradas 0x1 y, por lo tanto, el atacante inició sesión fuera de los límites.

La vulnerabilidad es peligrosa porque un atacante podría crear una matriz falsa que pueda leer y escribir valores. Al hacerlo por su cuenta, los investigadores descubrieron que podían «secuestrar el flujo de control del programa y obtener el control total de la máquina virtual Squirrel», lo que hicieron al anular los punteros de función.

SonarSource proporcionó el siguiente gráfico, que muestra la cadena de punteros controlada por el atacante que permitía leer y escribir en todo el espacio de direcciones:

Una cadena de punteros controlados por el atacante que permitía leer y escribir en todo el espacio de direcciones. Fuente: SonarSource.

Repositorio Squirrel GitHub parcheado

El mantenedor del repositorio, Squirrel GitHub, reconoció la vulnerabilidad en agosto. Se expulsó un parche como parte de un cometer el código el 16 de septiembre.

Pero como lo señaló La noticia del hacker, los cambios no se han incluido en una nueva versión estable, con la última versión oficial (v3.1) lanzada el 27 de marzo de 2016.

Por lo tanto, los investigadores que descubrieron la vulnerabilidad «encarecidamente» recomiendan que los mantenedores que utilizan Squirrel en sus proyectos apliquen el compromiso de corrección disponible para protegerse de los ataques.

.

No te olvides compartir en una historia de tu Instagram para que tus colegas lo consulten

??? ? ? ???

Comparte