Un sitio web no confiable puede congelar tu Mac con un solo clic
The Deathray: A simple way for an untrusted site to freeze a Mac
Un shader de WebGPU en un sitio no confiable puede bloquear la GPU de una Mac, dejando la interfaz inutilizable hasta reiniciar. El fallo se reproduce en Chrome, Firefox y Safari en macOS, pero no en otros sistemas. El autor lo descubrió por accidente en el Recurse Center y lo reportó a Apple, que primero prometió una solución y luego lo descartó como no relacionado con la seguridad.
Hay una creencia (quizás equivocada) de que simplemente hacer clic en un enlace no afectará negativamente al resto de tu computadora más allá de ralentizar las cosas hasta que se cierre la pestaña.
- isolay
> Solo espero que tu navegador no reabra automáticamente la misma pestaña cuando se inicie de nuevo
Pillado. Mi navegador está configurado justo para hacer eso.
- john_owl
Tuve suerte, el sitio web está caído por un error de certificado.
- socalgal2
Esto existe desde 2011, cuando se lanzó WebGL. Está documentado en la especificación. Es un problema que se autocorrige. Vas a un sitio, te congela la máquina, nunca vuelves a visitar ese sitio.
No se roban datos, no se pierde privacidad. Lo único que pasa es que el culpable pierde toda su audiencia.
Desactivar WebGL = se acabó Figma, se acabó Canva, se acabó Google Maps. Unos pocos sitios que se autocorrigen parecen aceptables. Prueba de ello: han pasado 15 años desde que esto es posible y el mundo no se acabó ni todo internet te congela la máquina.
Además, esto es discutiblemente un bug de MacOS. Windows y Linux han tenido monitores de GPU que reinician la GPU si un comando tarda demasiado. Windows desde antes de que se lanzara WebGL. Linux unos años después. Las Macs todavía no se recuperan de un uso excesivo de la GPU.
- alwaysmrno
Congeló mi navegador Brave en Windows durante unos 10 segundos. Todas las páginas se volvieron blancas.
Luego se refrescaron y funcionaron de nuevo, excepto la página problemática.
Como especuló el autor, esa pestaña quedó congelada.
- washadjeffmad
Allá por los 90, cuando la web no era comercial y era divertida, añadí un enlace "No me hagas clic" que cargaba una página de 'prueba de navegador' (después de una serie de diálogos de "¿estás realmente seguro?") que explotaba todos los bugs históricos de navegadores que pude encontrar. Popups infinitos, diálogos de los que no podías escapar, rarezas de ActiveX, varios cuelgues y crashes, de todo.
Si no te crasheaba el ordenador, al final mostraba un solo popup que decía "¡Felicidades por no usar Internet Explorer!". Ojalá todavía tuviera los correos de odio.
- gucci-on-fleek
Vaya, esto crasheó por completo mi Firefox en Linux, algo que nunca me había pasado. Al menos el resto de programas de mi escritorio parece que quedaron completamente intactos.
- StilesCrisis
Metal está basado en C++14, lo que significa que puedes escribir el Dispositivo de Duff en un shader. Lo he probado en varias Macs y causa todo tipo de fallos críticos en el compilador, pero nunca un kernel panic real. (Es bastante trivial de reproducir en KodeLife)
- xoa
Aunque estoy seguro de que tiene sus usos, sobre todo si alguien realmente quiere jugar o hacer cosas computacionales complejas puramente dentro de un navegador web, admito que me he vuelto bastante cauteloso/cansado ante la cantidad cada vez mayor de superficie de ataque de hardware que los fabricantes de navegadores parecen apresurarse a exponer, ya que Google en particular parece empeñado en intentar ser el "sistema operativo dentro del sistema operativo" tanto como pueda. En este caso concreto me hizo darme cuenta de que hace tiempo puse dom.webgpu.enabled y pdfjs.enableWebGPU en false en Firefox, igual que desactivé WebGL. Pensé que si alguna vez veía algo ultra genial podría activarlo solo esa vez, pero hasta ahora no lo he hecho. Semi relacionado, revisando ahora los ajustes disponibles por primera vez en un rato, me doy cuenta de que tienen un dom.webgpu.blocked-domains con las únicas entradas siendo "easyeda.com,*.easyeda.com", ¿me pregunto de qué va eso?