¿Cómo HTTPS Everywhere filtra mi sesión de Twitter de una ventana de incógnito?

5

Administro un par de cuentas de Twitter para empresas / sitios web que están separados de mi cuenta personal. Para simplificar, prefiero iniciar sesión desde una ventana de incógnito para no tener que desconectarme de mi cuenta de Twitter principal (personal).

Me sorprendí cuando inicié sesión recientemente en una de las cuentas secundarias en una ventana de incógnito, cerré la ventana y luego inicié sesión en esa cuenta secundaria cuando visité Twitter en la ventana principal que no es de incógnito.

Hice algunas pruebas y descubrí que el inicio de sesión automático se produce independientemente de si actualmente estoy conectado a Twitter o no en la sesión del navegador principal, cada vez que me inscribo a través de la ventana de incógnito. Si dejo la ventana de incógnito abierta e inicio sesión en una cuenta diferente, la sesión del navegador principal también cambia a esa cuenta de Twitter.

Después de algunas operaciones adicionales, decidí deshabilitar cualquier extensión que hubiera habilitado en modo de incógnito, para determinar si estaba relacionado. El problema desapareció con todas las extensiones deshabilitadas. Las 2 únicas extensiones a las que había dado permiso para operar en modo de incógnito eran Adblock y HTTPS Everywhere. Permití cada uno de ellos individualmente, y el problema solo ocurre cuando HTTPS Everywhere está habilitado. Además, establecí que el problema solo parece para ocurrir en Twitter. El inicio de sesión en una cuenta diferente de Facebook, Gmail o Reddit en modo de incógnito (con HTTPS Everywhere habilitado) no afectó el estado de inicio de sesión en la sesión del navegador principal.

Obviamente, este es un problema de seguridad, especialmente para una extensión orientada a la privacidad que está filtrando datos de sesión. Específicamente, me estoy preguntando:

  • ¿Cómo ayuda HTTPS Everywhere a Twitter a escapar del modo incógnito "sandbox"?
  • ¿Por qué sucede esto con Twitter pero no con otros sitios?
  • ¿De qué manera podría un sitio web malintencionado explotar este error para robar o alterar las credenciales de los usuarios?

Nota: esto no sucede en Firefox usando el modo de navegación privada con HTTPS en todas partes habilitado.

    
pregunta nhinkle 11.02.2014 - 06:44
fuente

2 respuestas

5

Soy el mantenedor de HTTPS Everywhere y simplemente fusioné una solicitud de extracción para solucionar este problema. Debería estar en la próxima versión (en 1-2 semanas). Para futuras referencias, enviarlos a Github significa que se solucionarán antes :). ( enlace )

    
respondido por el Yan Z 05.04.2014 - 08:39
fuente
4

Encontré un informe de error HTTPs Everywhere que explica por qué esto sucede:

  

Esto parece ser un error de la API de Chrome. Estamos obteniendo el evento onCookieChanged , y la cookie que recibimos en ese evento tiene un storeId de 0 independientemente de de dónde provenga (de incógnito o no). Luego giramos a la derecha, establecemos el indicador de seguridad en la cookie y emitimos un cookies.set(cookie) . Dado que storeId sigue siendo la tienda predeterminada, la cookie pasa al modo normal.

No está claro por qué parece sucederle a algunos sitios y no a otros, pero otras fuentes en la web han confirmado que el problema aparece de manera confiable con Twitter. Es posible que HTTPs Everywhere solo modifique la cookie si el indicador de seguridad aún no está establecido, y que otros sitios web importantes ya estén configurando el indicador de seguridad en sus cookies, mientras que Twitter no lo está. Una investigación adicional sobre esto sería bienvenida.

He reenviado el informe de error al GitHub bug tracker más utilizado del proyecto e incluí un recomendación para detectar el modo de incógnito y no volver a escribir las cookies cuando se opera en modo de incógnito.

    
respondido por el nhinkle 11.02.2014 - 06:51
fuente

Lea otras preguntas en las etiquetas