Un error divertido en las extensiones MV3 de Chrome

2025-07-13

La transición de Google Chrome de MV2 a MV3 eliminó el permiso webRequestBlocking, lo que rompió muchos bloqueadores de anuncios. Sin embargo, el autor descubrió un error peculiar: debido al uso de enlaces JavaScript en las API de extensión de Chrome, manipular parámetros en el constructor de eventos `chrome.webRequest` permitió omitir las comprobaciones de permisos y habilitar el bloqueo de anuncios. Si bien este error no representaba un riesgo de seguridad, puso de manifiesto problemas potenciales ocultos en código heredado y la posibilidad de lograr resultados inesperados mediante la explotación inteligente de detalles técnicos. El autor informó del error a Google, y desde entonces se ha corregido.

Leer más
Desarrollo

Vulnerabilidad crítica en ChromeOS: Compromiso total del sistema a través de extensiones de Chrome

2025-05-28

Un investigador de seguridad descubrió una vulnerabilidad crítica en el administrador de archivos de ChromeOS que permite a las extensiones maliciosas de Chrome obtener control total del sistema. Al explotar una URL filesystem:chrome://file-manager, la vulnerabilidad permite leer y escribir archivos de usuario y ejecutar código arbitrario. La falla aprovecha las API de JavaScript obsoletas en ChromeOS y las configuraciones incorrectas de los permisos de las páginas chrome://. El atacante puede lograr un compromiso total del sistema, acceder a los datos del usuario, modificar la configuración del sistema e incluso ejecutar código malicioso a través de Crostini. Si bien se ha solucionado, la vulnerabilidad destaca el riesgo de las decisiones de diseño a largo plazo en sistemas grandes y complejos como Chrome/ChromeOS.

Leer más

Más allá de Zig y Rust: Un enfoque más amigable para la metaprogramación

2025-05-26

Este artículo explora un nuevo diseño de lenguaje de programación que combina las fortalezas del sistema de tipos Hindley-Milner de Rust y las capacidades de tiempo de compilación de Zig, evitando al mismo tiempo las complejidades del enfoque de 'tipos como valores' de Zig. Al introducir el operador `@` para la ejecución en tiempo de compilación, el tipo `Abstract` para abstracciones en tiempo de compilación, los tipos `TypeInfo` y `Field` para la introspección de tipos y las funciones `Code` y `parse` para la manipulación de código, este diseño logra potentes capacidades de metaprogramación, como la generación automática de código y la implementación de tipos de utilidad similares a TypeScript, como `Partial`, manteniendo la legibilidad del código y la facilidad de razonamiento. Esto representa un nuevo enfoque para lograr una metaprogramación potente mientras se preserva la facilidad de uso del sistema de tipos, ofreciendo nuevas perspectivas para el diseño de lenguajes futuros.

Leer más
Desarrollo