Depende de la implementación real del servidor.
Aunque parece que node.js comenzó como root mantendrá estos privilegios, otros servidores (como Apache o nginx) solo comenzarán como root y luego renunciarán a los privilegios. Un diseño típico, por ejemplo, es tener algún proceso maestro que se enlaza a los sockets con los privilegios necesarios y luego forja a un hijo que renuncia a todos los privilegios de raíz de forma permanente antes de procesar cualquier dato de la red. Esto es posible ya que los sockets de escucha se heredan del proceso principal y los permisos de root solo fueron necesarios para vincular el socket a un puerto privilegiado pero no para aceptar conexiones en el socket establecido.
Por ejemplo, con nginx verá algo como lo siguiente:
$ ps -ax -o user,pid,ppid,cmd | grep nginx
root 14746 1 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 14747 14746 nginx: worker process
www-data 14748 14746 nginx: worker process
El primer proceso que se muestra es el maestro, ejecutándose como root. Los otros son los trabajadores iniciados por el maestro que se ejecuta como www-data
sin privilegios. Solo estos trabajadores no privilegiados procesarán la entrada del usuario y, por lo tanto, en caso de un compromiso debido a alguna entrada inesperada de la red, solo el usuario no privilegiado se verá comprometido primero. Por supuesto, un atacante podría intentar realizar una escalada de privilegios locales utilizando errores adicionales en el host, pero eso es un problema diferente.