{"id":69296,"date":"2026-09-20T13:32:11","date_gmt":"2026-09-20T13:32:11","guid":{"rendered":"https:\/\/overcentral.com\/es\/?p=69296"},"modified":"2026-09-20T13:32:11","modified_gmt":"2026-09-20T13:32:11","slug":"heapjack-overpatch-openai-codex-69296","status":"publish","type":"post","link":"https:\/\/overcentral.com\/es\/heapjack-overpatch-openai-codex-69296\/","title":{"rendered":"Escapan del sandbox de OpenAI Codex y ejecutan comandos"},"content":{"rendered":"<p>Investigadores de seguridad han descubierto dos vulnerabilidades cr\u00edticas en <a href=\"https:\/\/openai.com\/codex\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">OpenAI Codex<\/a> que permiten escapar del sandbox de seguridad de la herramienta, una de ellas capaz de ejecutar comandos arbitrarios en el equipo del desarrollador desde el modo m\u00e1s restrictivo, sin solicitar aprobaci\u00f3n y sin mostrar nada en pantalla. Las fallas, denominadas Heapjack y Overpatch, fueron reportadas a OpenAI <a href=\"https:\/\/overcentral.com\/es\/hoy-no-circula-sabatino-prohibe-autos-con-holograma-1-y-placa-par-el-12\/\" title=\"Hoy No Circula sabatino proh\u00edbe autos con holograma 1 y placa par el 12\" data-iacss-internal=\"1\">el 12<\/a> de agosto de 2026 y corregidas en un plazo de ocho d\u00edas, seg\u00fan inform\u00f3 Oren Yomtov, investigador de <a href=\"https:\/\/accomplish.ai\/blog\/openai-codex-vulnerabilities\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">Accomplish AI<\/a>.<\/p>\n<p>La m\u00e1s grave de las dos, Heapjack, convierte una acci\u00f3n rutinaria en una ejecuci\u00f3n remota de c\u00f3digo: basta con abrir el repositorio de otro usuario en Codex, hacerle una pregunta sobre el c\u00f3digo, y quien escribi\u00f3 ese repositorio obtiene capacidad de ejecuci\u00f3n de comandos sin restricciones en la m\u00e1quina de quien pregunta. Este art\u00edculo analiza en profundidad ambas vulnerabilidades, su funcionamiento t\u00e9cnico, las implicaciones para la seguridad del desarrollo asistido por IA y las lecciones que dejan para toda la industria.<\/p>\n<h2>\u00bfQu\u00e9 es OpenAI Codex y c\u00f3mo funciona su sandbox?<\/h2>\n<p>OpenAI Codex es el agente de codificaci\u00f3n de OpenAI, disponible como herramienta de l\u00ednea de comandos (CLI) y como aplicaci\u00f3n de escritorio. Al igual que otros agentes competidores, Codex ejecuta las acciones del modelo dentro de un sandbox, un entorno aislado dise\u00f1ado para que el c\u00f3digo no confiable no pueda acceder al sistema operativo subyacente. La premisa es sencilla: cuando un agente de IA genera y ejecuta c\u00f3digo, ese c\u00f3digo debe estar confinado para evitar da\u00f1os, robo de datos o ejecuci\u00f3n de malware. Ambas vulnerabilidades descubiertas logran derrotar ese per\u00edmetro de seguridad desde el interior del propio sandbox.<\/p>\n<p>El sandbox de Codex opera en varios modos de permisos, siendo el modo de solo lectura (read-only) el m\u00e1s restrictivo. En teor\u00eda, en ese modo el agente no puede escribir absolutamente nada en el sistema de archivos ni ejecutar comandos arbitrarios. Sin embargo, Heapjack demostr\u00f3 que era posible sortear completamente esa restricci\u00f3n.<\/p>\n<h2>Heapjack: el secuestro del heap que quebranta el sandbox de OpenAI Codex<\/h2>\n<p>La t\u00e9cnica Heapjack, detallada en el informe publicado por Yomtov, apunta a un componente llamado <em>node_repl<\/em>. Codex Desktop escribe este componente en el archivo global de configuraci\u00f3n <em>~\/.codex\/config.toml<\/em> durante la instalaci\u00f3n. No existe opci\u00f3n de aceptaci\u00f3n ni configuraci\u00f3n para desactivarlo, y como la entrada reside en la configuraci\u00f3n compartida, los usuarios de Codex CLI heredan la misma herramienta sin que se les pregunte nunca.<\/p>\n<p><em>node_repl<\/em> ejecuta un \u00fanico proceso de Node.js que mantiene dos contextos de ejecuci\u00f3n de JavaScript separados. Uno es de confianza y contiene el c\u00f3digo propio de OpenAI. El otro no es de confianza y ejecuta el c\u00f3digo del agente. El contexto de confianza demuestra que lo es presentando un token aleatorio que se genera de nuevo en cada ejecuci\u00f3n. El problema fundamental es que ambos contextos viven dentro del mismo proceso de Node y comparten un \u00fanico heap de memoria, por lo que el token no es m\u00e1s que una cadena de texto en la memoria que el contexto no confiable puede leer.<\/p>\n<p>El c\u00f3digo no confiable toma una instant\u00e1nea del heap con <em>v8.getHeapSnapshot()<\/em> y busca todas las cadenas que tengan formato de UUID. Un intento incorrecto devuelve \u00abno autorizado\u00bb. Un token correcto con un argumento incorrecto devuelve un error de validaci\u00f3n real, lo que indica al atacante que el token es v\u00e1lido. Con el token en su poder, el c\u00f3digo no confiable escribe su propia solicitud en el mismo conducto (pipe) que el contexto de confianza usa para comunicarse con un proceso padre nativo que no est\u00e1 dentro del sandbox.<\/p>\n<p>El proceso padre verifica el token, lo encuentra v\u00e1lido y ejecuta la acci\u00f3n solicitada. La prueba de concepto utiliz\u00f3 el comando &#8216;open&#8217; del sistema para lanzar una aplicaci\u00f3n fuera del \u00e1rbol de procesos de Codex por completo. El mismo acceso alcanza cualquier socket Unix, siendo un socket del demonio Docker el objetivo obvio, y tambi\u00e9n una herramienta para editar el archivo de configuraci\u00f3n global. Todo esto ocurre en modo de solo lectura, el nivel de sandbox m\u00e1s estricto, donde se supone que el agente no puede escribir absolutamente nada.<\/p>\n<h3>\u00bfC\u00f3mo funciona exactamente el ataque Heapjack paso a paso?<\/h3>\n<p>Para quienes buscan una comprensi\u00f3n clara y autosuficiente, el ataque sigue estos pasos: primero, el c\u00f3digo malicioso ejecutado dentro del sandbox de Codex (en modo read-only) toma una instant\u00e1nea completa del heap de memoria compartida usando la funci\u00f3n nativa de V8. Segundo, escanea esa instant\u00e1nea buscando cadenas con formato UUID, que es la forma del token de autenticaci\u00f3n. Tercero, prueba cada candidato contra el sistema hasta obtener una respuesta de error de validaci\u00f3n genuina, confirmando el token correcto. Cuarto, utiliza ese token v\u00e1lido para escribir una solicitud en el pipe de comunicaci\u00f3n con el proceso padre no sandboxeado, logrando as\u00ed ejecutar cualquier comando o abrir cualquier aplicaci\u00f3n fuera del sandbox. El ataque no requiere ninguna interacci\u00f3n del usuario m\u00e1s all\u00e1 de la acci\u00f3n inicial de abrir un repositorio y hacer una pregunta.<\/p>\n<h2>Overpatch: la segunda v\u00eda de escape en Codex CLI<\/h2>\n<p>La segunda vulnerabilidad, denominada Overpatch, reside en el c\u00f3digo abierto de Codex CLI. En el modo de escritura en el espacio de trabajo (workspace-write), el agente solo puede escribir dentro de la carpeta del proyecto, y cualquier comando de shell que apunte al directorio home del usuario es rechazado. Los investigadores lograron que la propia herramienta de parches de Codex, apply_patch, escribiera all\u00ed de todas formas.<\/p>\n<p>La herramienta apply_patch otorga acceso de escritura a la carpeta padre de cada ruta mencionada en un parche. Si se nombra &#8216;\/tmp&#8217;, se otorga acceso de escritura a la ra\u00edz del disco. El exploit funcional utiliza un parche con dos cambios: uno que nombra &#8216;\/tmp&#8217; y no hace nada \u00fatil excepto ampliar el permiso, y otro que a\u00f1ade una l\u00ednea a &#8216;.zshrc&#8217; a trav\u00e9s de un enlace simb\u00f3lico hacia el directorio home. Si se elimina el primer cambio, la escritura es rechazada. Con \u00e9l, la siguiente terminal que el desarrollador abra ejecutar\u00e1 la l\u00ednea del atacante sin restricciones.<\/p>\n<p>La gravedad de Overpatch radica en su persistencia: una vez que el archivo de configuraci\u00f3n del shell (.zshrc o similar) ha sido modificado, cualquier sesi\u00f3n de terminal futura ejecutar\u00e1 el c\u00f3digo malicioso, otorgando al atacante control continuo sobre la m\u00e1quina de la v\u00edctima sin necesidad de mantener la sesi\u00f3n original de Codex activa.<\/p>\n<h2>El mismo error fundamental: la frontera de confianza mal ubicada<\/h2>\n<p>Ambas vulnerabilidades comparten una misma estructura subyacente: el mecanismo de aplicaci\u00f3n de la seguridad viv\u00eda dentro de aquello que se supon\u00eda deb\u00eda proteger. <em>apply_patch<\/em> calculaba sus propios permisos a partir de datos suministrados por el atacante. <em>node_repl<\/em> manten\u00eda el secreto que separaba el c\u00f3digo de confianza del no confiable en la misma memoria que el c\u00f3digo no confiable. En cada caso, el sandbox recib\u00eda instrucciones desde su interior para permitir el paso de algo que nunca debi\u00f3 permitir.<\/p>\n<p>Esta clase de error no es nueva. En julio de 2026, investigadores de Pillar Security demostraron la misma idea en m\u00faltiples herramientas \u2014Cursor, Codex, Gemini CLI y Antigravity de Google\u2014 donde un agente que permanece dentro de su sandbox escribe un archivo que una herramienta de confianza fuera del sandbox ejecuta posteriormente. La industria del desarrollo asistido por IA est\u00e1 reproduciendo sistem\u00e1ticamente vulnerabilidades que la seguridad del software lleva d\u00e9cadas combatiendo.<\/p>\n<p>Reaccionando a la publicaci\u00f3n de Yomtov en X, un comentarista escribi\u00f3 que \u00ablos contextos V8 a\u00edslan los globales, no la memoria, por lo que el sandbox era realmente una promesa que el heap nunca acept\u00f3\u00bb. Otro llam\u00f3 a la frontera de confianza \u00abun divisor de ambientes\u00bb. La habilitaci\u00f3n por defecto de node_repl atrajo su propio escrutinio, pregunt\u00e1ndose por qu\u00e9 un token privilegiado era accesible desde JavaScript no confiable. Esta cr\u00edtica es particularmente pertinente: si el dise\u00f1o asume que el c\u00f3digo JavaScript del agente puede ser malicioso, entonces el token de autenticaci\u00f3n no deber\u00eda residir en la misma memoria que ese c\u00f3digo potencialmente hostil bajo ninguna circunstancia.<\/p>\n<h2>Implicaciones para la seguridad en el desarrollo asistido por IA<\/h2>\n<p>Estas vulnerabilidades trascienden el caso espec\u00edfico de OpenAI Codex y plantean preguntas fundamentales sobre la arquitectura de seguridad de los agentes de codificaci\u00f3n. El mercado de herramientas de desarrollo basadas en IA ha crecido exponencialmente, con productos como Cursor, GitHub Copilot, Gemini CLI y Antigravity compitiendo por la confianza de los desarrolladores. Todas estas herramientas operan con alg\u00fan tipo de sandbox, y todas enfrentan el mismo desaf\u00edo: c\u00f3mo ejecutar c\u00f3digo <a href=\"https:\/\/overcentral.com\/es\/google-exploit-zero-day-ia-67022\/\" title=\"Google detecta primer exploit zero-day generado por IA\" data-iacss-internal=\"1\">generado por IA<\/a> de forma segura en el entorno del usuario sin sacrificar funcionalidad.<\/p>\n<p>El problema fundamental es que los sandboxes tradicionales fueron dise\u00f1ados para aislar aplicaciones completas, no para contener fragmentos de c\u00f3digo que comparten memoria y recursos con el mismo proceso que los supervisa. La arquitectura de node_repl, con dos contextos de JavaScript en un mismo heap, es inherentemente fr\u00e1gil. Cualquier secreto compartido en esa memoria puede ser descubierto. La lecci\u00f3n es clara: los mecanismos de seguridad deben operar en un espacio de ejecuci\u00f3n separado, con barreras de memoria reales, no meras particiones l\u00f3gicas.<\/p>\n<p>Para los equipos de seguridad empresarial, estas revelaciones indican que el uso de agentes de codificaci\u00f3n IA debe ir acompa\u00f1ado de pol\u00edticas de actualizaci\u00f3n estrictas, monitoreo de comportamiento an\u00f3malo en los entornos de desarrollo y, mientras no se maduren las arquitecturas de aislamiento, posiblemente la restricci\u00f3n de estos agentes a entornos controlados o contenedores completos.<\/p>\n<h2>\u00bfQu\u00e9 deben hacer los desarrolladores y las empresas ahora?<\/h2>\n<p>OpenAI corrigi\u00f3 Heapjack en Codex Desktop build 26.818.21641 y Overpatch en Codex CLI 0.149.0, seg\u00fan confirm\u00f3 Accomplish AI. Los usuarios deben actualizar a esas versiones o posteriores de inmediato. Yomtov reconoci\u00f3 que OpenAI resolvi\u00f3 ambos problemas en un plazo de ocho d\u00edas desde su reporte, lo que demuestra una respuesta r\u00e1pida, pero la existencia de estas vulnerabilidades subraya la necesidad de que los usuarios apliquen las actualizaciones tan pronto como est\u00e9n disponibles.<\/p>\n<p>M\u00e1s all\u00e1 de la actualizaci\u00f3n, los desarrolladores deber\u00edan considerar las siguientes pr\u00e1cticas: revisar peri\u00f3dicamente los archivos de configuraci\u00f3n de Codex y otras herramientas similares para detectar componentes no solicitados; ejecutar agentes de codificaci\u00f3n en entornos con m\u00ednimo privilegio; utilizar herramientas de monitoreo de integridad de archivos en los directorios de configuraci\u00f3n del shell; y, cuando sea posible, contenerizar completamente el entorno de desarrollo para a\u00f1adir una capa adicional de aislamiento.<\/p>\n<p>Las empresas que adopten estas herramientas deben establecer un proceso de evaluaci\u00f3n de seguridad que incluya la revisi\u00f3n de las arquitecturas de sandbox de cada producto, la verificaci\u00f3n de que las actualizaciones se aplican autom\u00e1ticamente y la realizaci\u00f3n de auditor\u00edas peri\u00f3dicas de los entornos de desarrollo en busca de signos de compromiso.<\/p>\n<h2>El panorama m\u00e1s amplio: una industria que aprende sobre la marcha<\/h2>\n<p>El hecho de que dos vulnerabilidades cr\u00edticas aparecieran en un intervalo de ocho d\u00edas y fueran corregidas con rapidez es positivo, pero tambi\u00e9n indica que la industria de agentes de codificaci\u00f3n est\u00e1 en una fase temprana de maduraci\u00f3n en materia de seguridad. La repetici\u00f3n del mismo patr\u00f3n de error en m\u00faltiples productos sugiere que no se trata de fallos aislados, sino de una debilidad sist\u00e9mica en el dise\u00f1o de sandboxes para agentes inteligentes.<\/p>\n<p>La comunidad de seguridad ha se\u00f1alado que estos problemas no son nuevos en concepto, pero s\u00ed novedosos en su aplicaci\u00f3n pr\u00e1ctica a agentes de IA que ejecutan c\u00f3digo en nombre del usuario. La diferencia crucial con el software tradicional es que el c\u00f3digo generado por IA puede ser impredecible, variar entre ejecuciones y aprovechar vectores de ataque que un desarrollador humano probablemente no considerar\u00eda. <a href=\"https:\/\/overcentral.com\/es\/agentes-ia-exponen-datos-correo-empresarial-68746\/\" title=\"Los agentes de IA exponen datos protegidos en el correo empresarial\" data-iacss-internal=\"1\">Los agentes de IA<\/a> no solo ejecutan c\u00f3digo: lo generan activamente, lo que multiplica la superficie de ataque potencial.<\/p>\n<p>A futuro, es probable que veamos un endurecimiento significativo de las arquitecturas de sandbox en todas las herramientas de desarrollo asistido por IA. Las soluciones podr\u00edan incluir el uso de contenedores a nivel de sistema operativo, la separaci\u00f3n de procesos con espacios de memoria completamente independientes, la eliminaci\u00f3n de cualquier secreto compartido en la memoria del proceso agente y la implementaci\u00f3n de pol\u00edticas de permisos que se eval\u00faen desde un contexto externo al c\u00f3digo que se ejecuta.<\/p>\n<p>Afirmaci\u00f3n factual clave: las vulnerabilidades Heapjack y Overpatch en OpenAI Codex, reportadas el 12 de agosto de 2026 y corregidas en ocho d\u00edas, demuestran que los sandboxes actuales de los agentes de codificaci\u00f3n pueden ser eludidos cuando el mecanismo de enforcement reside dentro del mismo espacio de memoria que el c\u00f3digo no confiable, permitiendo la ejecuci\u00f3n remota de comandos sin aprobaci\u00f3n del usuario.<\/p>\n<p>Para los desarrolladores que conf\u00edan en Codex y herramientas similares, la lecci\u00f3n inmediata es clara: actualizar sin demora. Para la industria en su conjunto, la lecci\u00f3n es m\u00e1s profunda: la seguridad de los agentes de IA no puede ser un a\u00f1adido posterior ni un simple confinamiento l\u00f3gico; debe ser parte integral de la arquitectura desde el dise\u00f1o, con barreras reales, no solo promesas que el heap nunca acord\u00f3 mantener.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Investigadores de seguridad han descubierto dos vulnerabilidades cr\u00edticas en OpenAI Codex que permiten escapar del sandbox de seguridad de la herramienta, una de ellas capaz de ejecutar comandos arbitrarios en el equipo del desarrollador desde el modo m\u00e1s restrictivo, sin solicitar aprobaci\u00f3n y sin mostrar nada en pantalla. Las fallas, denominadas Heapjack y Overpatch, fueron [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":69329,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/cards.overcentral.com\/cards\/es\/69296.png","fifu_image_alt":"Escapan del sandbox de OpenAI Codex y ejecutan comandos","footnotes":""},"categories":[5],"tags":[],"class_list":["post-69296","post","type-post","status-publish","format-standard","has-post-thumbnail","category-tecnologia"],"fifu_image_url":"https:\/\/cards.overcentral.com\/cards\/es\/69296.png","fifu_image_alt":"Escapan del sandbox de OpenAI Codex y ejecutan comandos","_links":{"self":[{"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/posts\/69296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/comments?post=69296"}],"version-history":[{"count":2,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/posts\/69296\/revisions"}],"predecessor-version":[{"id":69298,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/posts\/69296\/revisions\/69298"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/media\/69329"}],"wp:attachment":[{"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/media?parent=69296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/categories?post=69296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/overcentral.com\/es\/wp-json\/wp\/v2\/tags?post=69296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}