CD Projekt Red ha dicho que los jugadores de Cyberpunk 2077 deben tener cuidado cuando miden el juego o utilizan partidas guardadas personalizadas. El desarrollador ha revelado que existe una vulnerabilidad activa en Cyberpunk 2077 dentro del código del juego que permitiría la ejecución de código arbitrario.
La vulnerabilidad fue revelada por PixelRick, miembro de la comunidad de Cyberpunk 2077. El informe incluye detalles de que el exploit se dirige a la forma en que las DLL del juego manejan cierto código. DLL significa Dynamic-link library, que es una biblioteca que permite al juego o al programa que la utiliza almacenar código y ejecutarlo durante todo el proceso, no sólo en tiempo de ejecución. Esto es normalmente seguro, siempre y cuando se realicen comprobaciones para verificar la integridad de los datos. En el caso de la ejecución remota o arbitraria de código, la DLL afectada pasará código no verificado al programa y éste se ejecutará. Esto permitiría a un programador malicioso ejecutar código no verificado desde con el programa, en este caso Cyberpunk 2077.
La vulnerabilidad elude el ASLR (Address Space Layout Randomization and Data Execution Protection (DEP)) de Windows, lo que hace posible pivotar el estilo de ataque en otro software más allá de un videojuego modificado. El ataque en sí accede a determinados flujos de datos dentro de ciertos tipos de archivos y puede utilizarse para ejecutar código arbitrario. A través de algunas argucias complicadas con archivos vulnerables, el juego inyectará el código malicioso en la memoria cuando se hagan cosas como, por ejemplo, guardar una partida. Esto podría incluso propagar el exploit y la carga útil si se comparten los archivos de guardado infectados.
Así es como lo describió PixelRick, el modder que reveló el problema:
La vulnerabilidad afecta a los archivos DATA. Se puede desencadenar un desbordamiento de búfer en el juego cuando carga esos archivos. La razón es que el juego utiliza un búfer de 512 bytes para serializar un máximo de 512 caracteres anchos para las cadenas de identificadores, y que son 1024 bytes (un carácter ancho son 2 bytes). Este desbordamiento de búfer puede ser explotado con la ayuda de una segunda vulnerabilidad que es una biblioteca de terceros que el juego utiliza: xinput1_3.dll. Esta biblioteca dinámica no es reubicable y por lo tanto es un bypass directo para una característica de seguridad llamada ASLR (Address Space Layour Randomization). Además, esta biblioteca es suficiente para construir una cadena ROP para eludir DEP (Data Execution Prevention) con el fin de ejecutar el código que ha sido inline en el búfer desbordado. (Esta cadena ROP no será revelada pronto, ya que representa un riesgo no sólo para CP77, sino para cualquier pieza de software que la utilice).
CDPR ha reconocido el problema y tiene previsto publicar un parche en breve. Su consejo es esperar al parche por ahora. Tampoco está de más ejecutar un escaneo de malware en tus sistemas si crees que pueden estar infectados. Por ahora, mantente alejado de cualquier mod que incluya ejecutables, pero esta vulnerabilidad es muy peligrosa porque puede convertir cualquier archivo no ejecutable en algo parecido.
Cuando los desarrolladores publiquen el parche, debería impedir que se ejecute cualquier código malicioso a través de los archivos del juego. Aunque eso es bueno, sigue siendo una muy buena idea realizar una comprobación superficial de cualquier mods que descargues en busca de virus o malware después. Francamente, deberías hacerlo con todos los mods que descargues. Algunos modders, como yamashi, ya han parcheado parte del problema en sus propios mods.
If you plan to use @CyberpunkGame mods/custom saves on PC, use caution. We've been made aware of a vulnerability in external DLL files the game uses which can be used to execute code on PCs. Issue will be fixed ASAP. For now, please refrain from using files from unknown sources.
— CD PROJEKT RED CS (@CDPRED_Support) February 2, 2021
Como todos sabemos a estas alturas, Cyberpunk 2077 no ha sido el mejor de los lanzamientos. La versión para PC funcionó bien, pero no se puede decir lo mismo de las versiones para consola. A pesar de las enormes ventas de lanzamiento, que superaron los 13 millones de unidades, el juego recibió una oleada de críticas constantes. Eso sin tener en cuenta la oleada masiva de reembolsos. Microsoft ofreció un periodo de reembolso indefinido para el juego. Best Buy incluso empezó a aceptar devoluciones de copias en caja abiertas. Más del 80% de los jugadores ya han dejado de jugar. Y sin actualizaciones importantes, muchos de esos jugadores no volverán.
Y gran parte de ello se debe al estado de los errores del juego en su lanzamiento. CDPR ha intentado arreglar las cosas, pero la gente sigue encontrando problemas como este. Otro parche reciente también introdujo un error importante que bloqueaba el progreso del juego.
Deja una respuesta