{"id":26330,"date":"2021-10-28T12:38:16","date_gmt":"2021-10-28T10:38:16","guid":{"rendered":"https:\/\/www.kaspersky.es\/blog\/?p=26330"},"modified":"2022-01-10T16:02:47","modified_gmt":"2022-01-10T14:02:47","slug":"uaparser-js-infected-versions","status":"publish","type":"post","link":"https:\/\/www.kaspersky.es\/blog\/uaparser-js-infected-versions\/26330\/","title":{"rendered":"UAParser.js: el paquete de JavaScript que se ha infectado con malware"},"content":{"rendered":"<p>Unos atacantes desconocidos han comprometido varias versiones de una popular biblioteca JavaScript, UAParser.js, inyect\u00e1ndole c\u00f3digo malicioso. De acuerdo con las <a href=\"https:\/\/www.npmjs.com\/package\/ua-parser-js\" target=\"_blank\" rel=\"noopener nofollow\">estad\u00edsticas de la p\u00e1gina del desarrollador<\/a>, son muchos los proyectos que utilizan esta biblioteca que cuenta con entre 6 a 8 millones de descargas cada semana.<\/p>\n<p>Los delincuentes han comprometido tres versiones de la biblioteca: 0.7.29, 0.8.0 y 1.0.0. Todos los usuarios y administradores deben actualizar las bibliotecas a las versiones 0.7.30, 0.8.1 y 1.0.1, respectivamente, lo antes posible.<\/p>\n<h2>\u00bfQu\u00e9 es UAParser.js y por qu\u00e9 es tan popular?<\/h2>\n<p>Los desarrolladores de JavaScript utilizan la biblioteca UAParser.js para analizar los datos Usuario-Agente que env\u00edan los navegadores. Est\u00e1 implementado en muchos sitios web y se utiliza en el proceso de desarrollo del <em>software<\/em> de varias empresas como Facebook, Apple, Amazon, Microsoft, Slack, IBM, HPE, Dell, Oracle o Mozilla, entre otras. Adem\u00e1s, algunos desarrolladores de <em>software<\/em> utilizan instrumentos de terceros, como el marco Karma para pruebas de c\u00f3digos, que tambi\u00e9n depende de esta biblioteca. Esto incrementa la escala del ataque, dado que a\u00f1ade un enlace adicional a la cadena de suministro.<\/p>\n<h2>La introducci\u00f3n de c\u00f3digo malicioso<\/h2>\n<p>Los atacantes insertan <em>scripts<\/em> maliciosos en la biblioteca para descargar c\u00f3digo malicioso y ejecutarlo en los ordenadores de las v\u00edctimas, tanto en Linux como en Windows. El prop\u00f3sito de uno de los m\u00f3dulos era minar criptomonedas. Otro (solo para Windows) pod\u00eda robar informaci\u00f3n confidencial como <em>cookies<\/em> del navegador, contrase\u00f1as y credenciales del sistema operativo.<\/p>\n<p>Sin embargo, eso podr\u00eda no ser todo: De acuerdo con la <a href=\"https:\/\/us-cert.cisa.gov\/ncas\/current-activity\/2021\/10\/22\/malware-discovered-popular-npm-package-ua-parser-js\" target=\"_blank\" rel=\"noopener nofollow\">advertencia<\/a> de la Agencia de Protecci\u00f3n de la Infraestructura y Ciberseguridad (CISA) de los Estados Unidos, instalar bibliotecas comprometidas podr\u00eda dar pie a que los atacantes tomen el control de los sistemas infectados.<\/p>\n<p>De acuerdo con los <a href=\"https:\/\/github.com\/faisalman\/ua-parser-js\/issues\/536\" target=\"_blank\" rel=\"noopener nofollow\">usuarios de GitHub<\/a>, el <em>malware<\/em> crea archivos binarios: jsextension (en Linux) y jsextension.exe (en Windows). La presencia de estos archivos es un indicador claro de que el sistema est\u00e1 comprometido.<\/p>\n<h2>C\u00f3mo entr\u00f3 el c\u00f3digo malicioso en la biblioteca UAParser.js<\/h2>\n<p>Faisal Salman, el desarrollador del proyecto UAParser.js, <a href=\"https:\/\/github.com\/faisalman\/ua-parser-js\/issues\/536#issuecomment-949742904\" target=\"_blank\" rel=\"noopener nofollow\">declar\u00f3 que<\/a> un atacante no identificado obtuvo acceso a su cuenta en el repositorio npm y public\u00f3 tres versiones maliciosas de la biblioteca UAParser.js. De inmediato, el desarrollador agreg\u00f3 una advertencia a los paquetes comprometidos y se puso en contacto con el soporte de npm, quienes r\u00e1pidamente borraron las versiones peligrosas. Sin embargo, como estos paquetes estaban online, exist\u00eda la posibilidad de que una buena cantidad de equipos ya los hubieran descargado.<\/p>\n<p>Al parecer, estuvieron <em>online<\/em> durante poco m\u00e1s de cuatro horas, de las 14:15 a las 18:23 CET el 22 de octubre. Por la tarde, el desarrollador observ\u00f3 actividad inusual de <em>spam<\/em> en su bandeja de entrada (que dijo que era una alerta de actividad sospechosa) y descubri\u00f3 el origen del problema. Es dif\u00edcil saber cu\u00e1ntas veces se han descargado las bibliotecas infectadas durante este tiempo, pero en los tres d\u00edas posteriores al incidente, las soluciones de seguridad de varias docenas de nuestros clientes corporativos de todo el mundo detectaron su c\u00f3digo malicioso.<\/p>\n<h2>Qu\u00e9 debes hacer si has descargado bibliotecas infectadas<\/h2>\n<p>El primer paso es buscar <em>malware<\/em> en los ordenadores. Nuestros productos detectan con \u00e9xito todos los componentes del <em>malware<\/em> que se utiliza en el ataque.<\/p>\n<p>Despu\u00e9s, actualiza tus bibliotecas a las versiones reparadas: 0.7.30, 0.8.1 y 1.0.1. Sin embargo, esto no es suficiente: <a href=\"https:\/\/github.com\/advisories\/GHSA-pjwm-rvh2-c87w\" target=\"_blank\" rel=\"noopener nofollow\">de acuerdo con la advertencia<\/a>, cualquier ordenador en el que se haya instalado o ejecutado una versi\u00f3n infectada debe considerarse completamente comprometido. Por lo tanto, los usuarios y administradores deber\u00e1n cambiar todas las credenciales que se hayan utilizado en estos equipos.<\/p>\n<p>En general, los entornos de desarrollo o construcci\u00f3n son objetivos convenientes para los atacantes que intentan organizar ataques a la cadena de suministro. Esto significa que dichos entornos requieren una <a href=\"https:\/\/www.kaspersky.es\/enterprise-security\/devops-security?icid=es_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">protecci\u00f3n antimalware<\/a> de forma urgente.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"kesb-top3\">\n","protected":false},"excerpt":{"rendered":"<p>El paquete Npm UAParser.js, instalado en decenas de millones de ordenadores de todo el mundo, ha sido infectado con un ladr\u00f3n de contrase\u00f1as y un minero. Te contamos c\u00f3mo actuar.<\/p>\n","protected":false},"author":700,"featured_media":26332,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1348,2202],"tags":[2621,123,3359,3129,696,671,2454,23],"class_list":{"0":"post-26330","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"category-business","9":"tag-cadena-de-suministro","10":"tag-contrasenas","11":"tag-javascript","12":"tag-ladron-de-contrasenas","13":"tag-linux","14":"tag-macos","15":"tag-mineros","16":"tag-windows"},"hreflang":[{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/uaparser-js-infected-versions\/26330\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/uaparser-js-infected-versions\/23525\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/uaparser-js-infected-versions\/19009\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/uaparser-js-infected-versions\/25614\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/uaparser-js-infected-versions\/23678\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/uaparser-js-infected-versions\/23186\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/uaparser-js-infected-versions\/25871\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/uaparser-js-infected-versions\/31787\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/uaparser-js-infected-versions\/10204\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/uaparser-js-infected-versions\/42700\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/uaparser-js-infected-versions\/17993\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/uaparser-js-infected-versions\/18359\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/uaparser-js-infected-versions\/15441\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/uaparser-js-infected-versions\/27646\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/uaparser-js-infected-versions\/31874\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/uaparser-js-infected-versions\/27775\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/uaparser-js-infected-versions\/24517\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/uaparser-js-infected-versions\/29877\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/uaparser-js-infected-versions\/29679\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.es\/blog\/tag\/cadena-de-suministro\/","name":"cadena de suministro"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/26330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/users\/700"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/comments?post=26330"}],"version-history":[{"count":6,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/26330\/revisions"}],"predecessor-version":[{"id":26334,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/26330\/revisions\/26334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/media\/26332"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/media?parent=26330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/categories?post=26330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/tags?post=26330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}