Resumen
Brave Shields es el panel del navegador Brave que, entre otras cosas, indica en qué sitio está el usuario. En la versión de escritorio que probó el investigador, ese panel no mostraba correctamente los dominios cuyos subdominios son números: los movía al final del nombre. Así, un dominio como 1.attacker.com aparecía como attacker.com.1.
El problema se agrava cuando los subdominios numéricos imitan una dirección conocida. Con 1.1.1.1.attacker.com, el panel mostraba attacker.com.1.1.1.1, un texto que recuerda al DNS público de Cloudflare (1.1.1.1) y oculta qué parte del nombre controla de verdad el dominio.
El investigador lo comparó con un caso anterior del mismo programa (reporte 2501378 de HackerOne), en el que el dominio real quedaba oculto usando un subdominio muy largo; aquí el truco consiste en usar valores numéricos. Según el reporte, Brave para Android mostraba el dominio correctamente.
La debilidad se clasificó como "Violation of Secure Design Principles" con severidad baja. El reporte se envió el 10 de abril de 2026, figura como resuelto y se divulgó el 13 de abril de 2026. Hubo recompensa, pero el importe no es público.
Pasos de reproducción
Entorno usado por el investigador: Ubuntu con esta versión del navegador:
Brave 1.89.132 (Official Build) (64-bit)
Chromium: 147.0.7727.56
- Abrir Brave en escritorio.
- Visitar un dominio cuyos subdominios sean números, por ejemplo:
1.1.1.1.attacker.com
- Pulsar el icono de Brave Shields.
- Comprobar que el nombre del sitio aparece reordenado:
- 1.1.1.1.attacker.com
+ attacker.com.1.1.1.1
Con un solo subdominio numérico ocurre lo mismo: 1.attacker.com se muestra como attacker.com.1.
Impacto
Quien controle un dominio puede crear subdominios numéricos para que el panel de Shields muestre un nombre engañoso, por ejemplo uno que parezca relacionado con 1.1.1.1 de Cloudflare. Un usuario que confíe en ese panel para saber en qué sitio está podría creer que la página pertenece a otro origen y fiarse de un sitio de phishing.
Qué aprender de este caso
- Cualquier parte de una interfaz que muestre "en qué sitio estás" (paneles de extensiones, avisos de permisos, diálogos de descarga) debe probarse con nombres de host poco habituales: etiquetas numéricas, muchas etiquetas seguidas o subdominios muy largos. Que la barra de direcciones esté bien no garantiza que lo estén los demás componentes.
- Un nombre como
1.1.1.1.attacker.commezcla aspecto de dirección IP y de dominio, así que es un buen caso de prueba para cualquier código que formatee hosts. Lo seguro es decidir de forma estricta si el host es una IP o un dominio y, si es un dominio, no reordenar nunca sus etiquetas. - Al mostrar un dominio, lo que importa es el dominio registrable (aquí
attacker.com), calculado con la Public Suffix List; conviene mostrarlo destacado y tal cual, sin piezas del subdominio pegadas detrás. - Si la misma función existe en varias plataformas (aquí, escritorio y Android), comparar cómo muestra cada una el mismo host es una forma rápida de encontrar este tipo de diferencias.