Ese fragmento de código en sí mismo no es realmente un control de seguridad, solo verifica que exista un valor antes de usarlo (buenas prácticas, pero no relacionadas con la seguridad). La carne de tu código estará en:
from mysql table where id = $_SESSION['id'];
Y todo depende de cómo llegaron los datos a $ _SESSION ['id']. Ya sea antes de insertarlo allí o antes de usarlo, debe realizar las comprobaciones de seguridad adecuadas en función de para qué va a utilizar el valor. En su caso, verifique la inyección de SQL Y está mejor utilizando consultas parametrizadas.
Si su en realidad de SQL se parece un poco a lo que escribió, es decir, una concatenación de cadenas con el $ _SESSION ['id'] sin calcular como un valor numérico, entonces, sí , esto es MUY vulnerable.