{"id":1436,"date":"2026-07-06T20:01:29","date_gmt":"2026-07-06T20:01:29","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/06\/una-falla-de-kvm-de-linux-de-hace-16-anos-permite-que-las-maquinas-virtuales-invitadas-escapen-al-host-en-sistemas-intel-y-amd-x86\/"},"modified":"2026-07-06T20:01:29","modified_gmt":"2026-07-06T20:01:29","slug":"una-falla-de-kvm-de-linux-de-hace-16-anos-permite-que-las-maquinas-virtuales-invitadas-escapen-al-host-en-sistemas-intel-y-amd-x86","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/06\/una-falla-de-kvm-de-linux-de-hace-16-anos-permite-que-las-maquinas-virtuales-invitadas-escapen-al-host-en-sistemas-intel-y-amd-x86\/","title":{"rendered":"Una falla de KVM de Linux de hace 16 a\u00f1os permite que las m\u00e1quinas virtuales invitadas escapen al host en sistemas Intel y AMD x86"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Se puede activar un error de uso despu\u00e9s de la liberaci\u00f3n en el hipervisor KVM de Linux desde una m\u00e1quina virtual invitada para corromper el estado de la p\u00e1gina oculta del kernel host que lo ejecuta.<\/p>\n<p>Apodado &#8216;<a href=\"https:\/\/github.com\/V4bel\/Januscape\">Januscape<\/a>&#8216; y rastreado como <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-53359\">CVE-2026-53359<\/a>la falla se encuentra en el c\u00f3digo MMU oculto que KVM comparte tanto en Intel como en AMD. La prueba de concepto p\u00fablica hace que el anfitri\u00f3n entre en p\u00e1nico; El investigador afirma que un exploit separado e in\u00e9dito convierte el mismo error en la ejecuci\u00f3n completa del c\u00f3digo host.<\/p>\n<p>investigador de seguridad <a href=\"https:\/\/x.com\/v4bel\">Hyunwoo Kim (@v4bel)<\/a> encontr\u00f3 e inform\u00f3 el error. Describi\u00f3 a Januscape como el primer exploit de hu\u00e9sped a host que se puede activar tanto en Intel como en AMD, hasta donde el p\u00fablico sabe. El defecto pas\u00f3 desapercibido durante aproximadamente 16 a\u00f1os.<\/p>\n<p>Seg\u00fan Kim, el exploit se utiliz\u00f3 como env\u00edo de d\u00eda cero en <a href=\"https:\/\/security.googleblog.com\/2024\/06\/virtual-escape-real-reward-introducing.html\">kvmCTF de Google<\/a>el programa de recompensas por vulnerabilidades de KVM controladas que ofrece hasta 250 000 d\u00f3lares por escapadas completas de invitado a anfitri\u00f3n.<\/p>\n<h2>C\u00f3mo funciona<\/h2>\n<p>Para ejecutar una m\u00e1quina virtual, KVM mantiene su propio conjunto privado de tablas de p\u00e1ginas que reflejan el dise\u00f1o de la memoria del invitado. Cuando necesita una de estas p\u00e1ginas de seguimiento, busca una existente para reutilizarla.<\/p>\n<p>El problema: los compar\u00f3 solo por la direcci\u00f3n de memoria e ignor\u00f3 qu\u00e9 tipo de p\u00e1gina de seguimiento estaba tomando. Dos tipos diferentes pueden compartir la misma direcci\u00f3n pero realizar trabajos completamente diferentes, por lo que KVM a veces reutiliza el tipo incorrecto.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-vuln-protection-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjQl2axNwsfhbXOFynrg_uAZsvHi3OvNGSA8KJO-BKR8Xm3x7yjKV3EvfY4v5mwXx6LF0uWFb9h9d9iAV_Pi-YYhqimX9wx4OaLdDJEdR215Xrxq_PAtXkaLfQso4pTSjbj6fvh_ZTliLpzWZSZfcoZgyXtKwhN-SSDDlmbtUqGLshc0KqYQGWYHMN52Sl1\/s728-e100\/zz-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Esa confusi\u00f3n codifica los registros internos de KVM sobre qu\u00e9 p\u00e1gina pertenece y d\u00f3nde, y una vez que esos registros son incorrectos, algo tiene que ceder.<\/p>\n<p>La mayor\u00eda de las veces, el n\u00facleo se da cuenta del desorden y se apaga en el acto para evitar causar da\u00f1os. Ese bloqueo es lo que desencadena la demostraci\u00f3n p\u00fablica: un invitado puede derribar todo el host, derribando con \u00e9l a todas las dem\u00e1s m\u00e1quinas virtuales de esa m\u00e1quina.<\/p>\n<p>El caso m\u00e1s raro y peor ocurre cuando la p\u00e1gina de seguimiento liberada se entrega para otro uso antes de que el kernel se limpie. Luego, la limpieza escribe un valor en la memoria que ya no posee. Un atacante solo controla d\u00f3nde llega esa escritura, no lo que se escribe, pero incluso ese punto de apoyo limitado se puede convertir en c\u00f3digo ejecutable en el host.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgWII438TnKqzUiPCHjtwVr1UylqF9K0J20MeiuiXAo5npYotak_K7JdQtfVH1PyQQJsLrCVjA59LIUwVf-LHg_xtl3PKf3rNZwlpuHh9CkPUCo6yW_INktscrsJKT5u5vF8fIzG01Kcqx1-Be1lynI5JxMtyb3f7UsWrlSQviPVRtH3Fa-FiEUZBDX6p0\/s1700-e365\/Januscape.gif\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgWII438TnKqzUiPCHjtwVr1UylqF9K0J20MeiuiXAo5npYotak_K7JdQtfVH1PyQQJsLrCVjA59LIUwVf-LHg_xtl3PKf3rNZwlpuHh9CkPUCo6yW_INktscrsJKT5u5vF8fIzG01Kcqx1-Be1lynI5JxMtyb3f7UsWrlSQviPVRtH3Fa-FiEUZBDX6p0\/s1700-e365\/Januscape.gif\" alt=\"\" border=\"0\" data-original-height=\"720\" data-original-width=\"1280\"\/><\/a><\/div>\n<p>La falla se comporta igual en los chips Intel y AMD; s\u00f3lo el paso final y m\u00e1s dif\u00edcil de convertirlo en control total requiere un trabajo diferente en cada uno.<\/p>\n<h2>\u00bfQui\u00e9n se ve afectado?<\/h2>\n<p>El c\u00f3digo vulnerable ha estado presente desde <a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=2032a93d66fa\">cometer 2032a93d66fa<\/a> en agosto de 2010 (era del kernel 2.6.36) y fue reparado por <a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=81ccda30b4e8\">cometer 81ccda30b4e8<\/a>se fusion\u00f3 con mainline el 19 de junio de 2026.<\/p>\n<p>El ataque requiere dos cosas por parte del hu\u00e9sped: ra\u00edz dentro de la VM, una condici\u00f3n com\u00fan en instancias de nube alquiladas, y virtualizaci\u00f3n anidada expuesta por el host. Incluso en hosts que ejecutan hardware EPT o NPT de forma predeterminada, la virtualizaci\u00f3n anidada obliga a KVM a retroceder a trav\u00e9s de la MMU oculta heredada, que es donde se encuentra el error.<\/p>\n<p>El exploit no necesita la cooperaci\u00f3n de QEMU ni de ning\u00fan VMM del espacio de usuario. Es puramente un error de KVM en el kernel.<\/p>\n<p>La preocupaci\u00f3n pr\u00e1ctica es cualquier entorno x86 que aloje invitados que no sean de confianza y con la virtualizaci\u00f3n anidada habilitada. Un atacante que alquila una sola instancia de este tipo puede provocar p\u00e1nico en el host y desactivar todas las dem\u00e1s m\u00e1quinas virtuales de la misma m\u00e1quina f\u00edsica.<\/p>\n<p>Kim dijo que el exploit completo retenido ejecuta c\u00f3digo como root en el host, lo que expondr\u00eda a otros invitados en la misma m\u00e1quina a ese acceso de root. En distribuciones como RHEL, donde \/dev\/kvm se puede escribir en todo el mundo (0666), Kim not\u00f3 que el mismo error tambi\u00e9n podr\u00eda servir como una escalada de privilegios locales a la ra\u00edz, aunque la ruta de invitado a host es el uso de mayor impacto.<\/p>\n<h2>Unos meses muy ocupados para un investigador<\/h2>\n<p>Januscape es la tercera revelaci\u00f3n de Kim sobre un exploit del kernel de Linux en aproximadamente dos meses. En mayo de 2026, revel\u00f3 Dirty Frag (<a href=\"https:\/\/github.com\/V4bel\/dirtyfrag\">CVE-2026-43284 \/ CVE-2026-43500<\/a>), una cadena de vulnerabilidad de escritura en cach\u00e9 de p\u00e1gina que ofrece ra\u00edz determinista en la mayor\u00eda de las distribuciones principales, extendiendo la misma clase de error que Dirty Pipe y Copy Fail.<\/p>\n<p>En junio public\u00f3 <a href=\"https:\/\/github.com\/V4bel\/ITScape\">SU paisaje<\/a> (CVE-2026-46316), el primer escape de hu\u00e9sped a host demostrado p\u00fablicamente en KVM\/arm64, que explota una condici\u00f3n de carrera en el controlador de interrupci\u00f3n virtual. Januscape ahora a\u00f1ade el lado x86; el mismo disparador se activa tanto en Intel como en AMD, y el PoC lleva una ruta de c\u00f3digo separada para cada proveedor.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/sygnia-cyber-response-d-2\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhr7HGzx4ULDSqwnN820pPGxlPxqqVxKgIrI5II1iWdspOL6yHZsdB5lWoXU3LmhIU4dtnph89fLZ0CxrQSs-ufs6Mo4eD-d-Cpx-DsV1G15eC-phLACF7hyaKSIH1zIdj3AuD7lHSHnVelmKVMoVV-_zvtJuodsSIDKu6uSRfU6fZBkO-2PERqKSfIn6dA\/s728-e100\/sygnia-d-2.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Google lanz\u00f3 kvmCTF en 2024 espec\u00edficamente porque KVM sustenta tanto a Android como a Google Cloud. Un uso-despu\u00e9s libre de paginaci\u00f3n oculta KVM x86 independiente (<a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-46113\">CVE-2026-46113<\/a>) que involucraba una discrepancia de rmap relacionada pero distinta, se solucion\u00f3 en mayo de 2026.<\/p>\n<p>Eso hace que dos MMU en la sombra se liberen en la misma ruta de c\u00f3digo heredado en dos meses.<\/p>\n<h2>Qu\u00e9 hacer<\/h2>\n<p>La soluci\u00f3n es una adici\u00f3n de una l\u00ednea a kvm_mmu_get_child_sp(): la condici\u00f3n de reutilizaci\u00f3n ahora verifica role.word junto con gfn, por lo que una p\u00e1gina oculta solo se reutiliza cuando tanto el n\u00famero de fotograma como el rol coinciden. El mantenedor de KVM Paolo Bonzini escribi\u00f3 el <a href=\"https:\/\/lore.kernel.org\/all\/20260617134425.440091-1-pbonzini@redhat.com\/\">parche<\/a>.<\/p>\n<p>Versiones estables fijas enviadas el 4 de julio de 2026: 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211 y 5.10.260. NVD a\u00fan no ha asignado una puntuaci\u00f3n CVSS; no esperes uno.<\/p>\n<p>Si opera un host KVM x86 que acepta invitados multiinquilino con virtualizaci\u00f3n anidada, confirme que su kernel incluya la confirmaci\u00f3n 81ccda30b4e8. Los backports de distribuci\u00f3n pueden contener la soluci\u00f3n con un n\u00famero de versi\u00f3n diferente, as\u00ed que verifique el registro de cambios del paquete en lugar de confiar solo en uname -r.<\/p>\n<p>Si no puede parchear inmediatamente, deshabilitar la virtualizaci\u00f3n anidada (kvm_intel.nested=0 o kvm_amd.nested=0) elimina la ruta de ataque para invitados que no son de confianza. Los hosts ARM64 no se ven afectados por Januscape; ITScape (CVE-2026-46316) es un problema separado de KVM\/arm64.<\/p>\n<p>La PoC p\u00fablica demuestra un p\u00e1nico de host confiable por parte de un invitado con un m\u00f3dulo de kernel cargable y segundos o minutos de carrera. Trate los hosts KVM x86 expuestos con virtualizaci\u00f3n anidada como objetivos de parches de alta prioridad.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Se puede activar un error de uso despu\u00e9s de la liberaci\u00f3n en el hipervisor KVM de Linux desde una m\u00e1quina virtual invitada para corromper el estado de la p\u00e1gina oculta del kernel host que lo ejecuta. Apodado &#8216;Januscape&#8216; y rastreado como CVE-2026-53359la falla se encuentra en el c\u00f3digo MMU oculto que KVM comparte tanto en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1379,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[3559,514,3558,263,654,1628,3234,3557,1012,95,15,1582,265,1154,132,3556,3560],"class_list":["post-1436","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-amd","tag-anos","tag-escapen","tag-falla","tag-hace","tag-host","tag-intel","tag-invitadas","tag-kvm","tag-las","tag-linux","tag-maquinas","tag-permite","tag-sistemas","tag-una","tag-virtuales","tag-x86"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1436"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1436\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/1379"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}