A menudo, sí, este es el caso.
Dependiendo del mecanismo para la separación de la cuenta en uso, los atacantes pueden burlar la protección provista por el host y atacar otros sitios. La seguridad en esta área es generalmente lo suficientemente pobre como para que la mayoría de los atacantes intenten un movimiento lateral entre sitios en el mismo servidor. A menudo funciona lo suficiente como para que formen parte de su estrategia. Éstos son algunos de los niveles de aislamiento que se usan en la actualidad y la protección que brindan. Asumiré apache, ya que eso es lo que es común. Aunque estos mismos principios se aplican con otro software de servidor.
Configuración predeterminada
Si no se realizan personalizaciones de seguridad, el servidor web ejecutará un solo usuario ("apache" o "nadie" o "www-data") compartido entre todos los sitios, mientras que los archivos serán propiedad de usuarios de FTP específicos. La intención es restringir qué tipo de acceso tiene el público (apache) asegurándose de que no tenga acceso de escritura a sus archivos. Desafortunadamente, esta disposición no es compatible con la mayoría de las aplicaciones web actuales que esperan que los usuarios puedan cargar archivos, incluido el código ejecutable, lo que permite que el sitio se actualice automáticamente, instale extensiones y otras tareas administrativas que se realicen a través del sitio.
En esta configuración, el código que se ejecuta en cualquier sitio tiene el mismo acceso a los archivos de otro sitio como lo haría ese sitio. Esta configuración conduce fácilmente a un compromiso para muchas aplicaciones web.
SuExec / FastCGI
Con SuExec, las aplicaciones CGI se ejecutan bajo los permisos del propietario del sitio en lugar de usar los permisos propios de Apache. suPHP y suhosin también extienden este comportamiento a PHP (que tradicionalmente no se ejecuta como un ejecutable CGI). FastCGI, incluido fcgid, también suele proporcionar este mismo comportamiento.
Bajo este régimen, los archivos generalmente aún son legibles por la cuenta de usuario de Apache, pero solo se pueden escribir en la cuenta del propietario del sitio. Esto limita la mayoría de los tipos de movimientos laterales, pero aún permite un conjunto limitado de ataques.
Uno de esos ataques que he observado ocurre de tal manera que el atacante crea enlaces simbólicos a los archivos de configuración para otros sitios en el servidor, como por ejemplo:
/home/user1/public_html/foo.txt -> /home/user2/public_html/wp-config.php
El usuario luego busca ese archivo directamente y la configuración que contiene (incluidas las contraseñas de la base de datos) se muestra al atacante.
RUID2
Un nuevo módulo experimental de Apache llamado mod_ruid2 por Kees Monshouwer ejecuta el proceso de apache bajo los permisos del usuario. Este módulo ahora está disponible en los servidores de cPanel, lo que significa que está bastante implementado en entornos de alojamiento compartido. Esto protege contra el ataque descrito anteriormente, pero no protege frente a permisos y administración inadecuados, vulnerabilidades de escalamiento de privilegios y otros problemas a nivel del sistema. Tampoco es compatible con una serie de características y extensiones comunes.
Configuraciones de aislamiento personalizadas
Es posible ejecutar el servidor bajo un régimen de aislamiento usando chroot y características similares (como cgroups) para ofrecer aislamiento y seguridad adicionales sin el costo de la virtualización. Sin embargo, esta opción tradicionalmente no se ha seguido muy lejos.
Virtualización
Sin dar a cada usuario su propio servidor, dar a cada usuario su propio servidor virtual es la mejor opción. Este es el núcleo del alojamiento "en la nube" y ofrece seguridad relativamente sólida, pero a un costo bastante alto.