La ruta de las cookies no proporciona ninguna seguridad (en la mayoría de las situaciones del mundo real).
Es importante comprender que la especificación de cookies es una tecnología antigua. Se remonta a los primeros días de la web. El modelo de seguridad de la web ha evolucionado desde entonces y se ha pensado con más cuidado. El modelo de seguridad para las cookies no ha evolucionado de manera correspondiente.
Como otro ejemplo de desajustes de impedancia entre el modelo de seguridad de la web y las cookies, la política del mismo origen trata a www.example.com:80
como un origen diferente a www.example.com:81
, pero se consideran idénticas a los fines de las cookies. Puede encontrar más información sobre rarezas de seguridad con cookies de Michal Zalewski.
Las cookies pueden ser leídas por Javascript. Si bien el navegador puede tener en cuenta la ruta cuando Javascript intenta leer cookies, esta no es una función de seguridad: la ruta no es un límite de seguridad, por lo que Javascript malicioso en una página aún puede leer cookies para otras rutas (por ejemplo, abriendo un iframe invisible con la ruta correcta, inyectando Javascript malicioso en ella), y entonces agarrando la galleta). El único límite de seguridad efectivo está en la granularidad de un origen. Como resultado, el resultado final desde una perspectiva de seguridad es: Javascript malicioso en www.example.com/dogs
puede leer una cookie cuya ruta es www.example.com/cats
.
En la práctica, los desarrolladores generalmente evitan estos casos de esquina que quedan de días anteriores, o al menos evitan confiar en ellos para brindar seguridad adicional. Por ejemplo, los desarrolladores web no deben confiar en la ruta de las cookies para proporcionar seguridad (en el mejor de los casos, reduce la cantidad de cookies que se devuelven, lo que quizás podría usarse para reducir el ancho de banda en algunas situaciones). Como otro ejemplo, los sitios en estos días generalmente evitan servir contenido de números de puerto no estándar, ya que esa situación es otro caso de esquina que expone una semántica inesperada.
En este punto, la ruta de las cookies es principalmente un vestigio residual de días anteriores. Por lo que puedo decir, ya no sirve para nada, y si la ruta de acceso a las cookies nunca se hubiera introducido, hoy probablemente nunca lo notaría. Pero los navegadores todavía tienen que admitirlo, por razones de compatibilidad con versiones anteriores. Y así va, en la web. Es mejor pensar en la web no como un artefacto cuidadosamente diseñado, sino como algo que evolucionó con el tiempo, y como resultado, se ha acumulado basura ahora inútil, como nuestro apéndice.