[ad_1]
Se ha descubierto una vulnerabilidad de seguridad en el lenguaje de programación R que podría ser explotada por un actor de amenazas para crear un archivo RDS (R Data Serialization) malicioso de modo que provoque la ejecución del código cuando se carga y se hace referencia a él.
La falla, se le asignó el identificador CVE. CVE-2024-27322«implica el uso de objetos prometedores y una evaluación diferida en R», dijo la empresa de seguridad de aplicaciones de IA HiddenLayer en un informe compartido con The Hacker News.
RDS, como pepinillo en Pythones un formato utilizado para serializar y guardar el estado de estructuras u objetos de datos en R, un lenguaje de programación de código abierto utilizado en informática estadística, visualización de datos y aprendizaje automático.
Este proceso de serialización (serialize() o saveRDS()) y deserialización (unserialize() y readRDS()) también se aprovecha al guardar y cargar paquetes de R.
La causa principal detrás de CVE-2024-27322 radica en el hecho de que podría provocar la ejecución de código arbitrario al deserializar datos que no son de confianza, dejando así a los usuarios expuestos a ataques a la cadena de suministro a través de paquetes R especialmente diseñados.
Por lo tanto, un atacante que busque convertir la falla en un arma podría aprovechar el hecho de que los paquetes R aprovechan el formato RDS para guardar y cargar datos, lo que provoca la ejecución automática de código cuando el paquete se descomprime y se deserializa.
«Los paquetes R son vulnerables a este exploit y, por lo tanto, pueden usarse como parte de un ataque a la cadena de suministro a través de repositorios de paquetes», dijeron los investigadores de seguridad Kasimir Schulz y Kieran Evans. «Para que un atacante se apodere de un paquete R, todo lo que necesita hacer es sobrescribir el archivo rdx con el archivo creado con fines malintencionados y, cuando el paquete se cargue, ejecutará automáticamente el código».
El defecto de seguridad se ha solucionado en versión 4.4.0 publicado el 24 de abril de 2024, tras una divulgación responsable.
«Un atacante puede aprovechar esto [flaw] creando un archivo en formato RDS que contiene una instrucción de promesa que establece el valor en unbound_value y la expresión para que contenga código arbitrario», dijo HiddenLayer. «Debido a la evaluación diferida, la expresión solo se evaluará y ejecutará cuando el símbolo asociado con el RDS se accede al archivo.»
«Por lo tanto, si se trata simplemente de un archivo RDS, cuando un usuario le asigna un símbolo (variable) para poder trabajar con él, el código arbitrario se ejecutará cuando el usuario haga referencia a ese símbolo. Si el objeto se compila dentro de un paquete R, el paquete se puede agregar a un repositorio de R como CRAN, y la expresión se evaluará y el código arbitrario se ejecutará cuando un usuario cargue ese paquete».
[ad_2]
Enlace fuente