¿Es un archivo php con bit SGID y de solo lectura y ejecución un problema de seguridad?

¿Es un archivo php con bit SGID y de solo lectura y ejecución un problema de seguridad?

encuentro archivos php conBit SGID y solo lectura y ejecución. el grupo esraíz. ¿Es esto un problema?

Debido a que un usuario necesitará ejecutar el intérprete de php con su cuenta nuestra, ¿podría esto llevar a una escalada de privilegios?

Como, el usuariowww-datoscorriendoPHPcomowww-datosy llamar al archivo conbit SGID, ¿podría convertirse en root?

php path/to/file.php

Respuesta1

Sí; sgid:root ejecutará el archivo como root si se ejecuta directamente en un sistema operativo con sgid-on-!# habilitado, y si se puede engañar al archivo php para que escriba en un archivo arbitrario debido a la falta de saneamiento de entrada, etc.

Ese es un gran SI, pero se recomienda una defensa en profundidad porque abundan los errores.

Suido de prueba;

./test.php && whoami
root
www-data

Donde contiene test.php

#!/usr/bin/php
echo exec('whoami');

Permitir setuid en scripts de shell

Observa cómo las implementaciones modernas abordan formas interesantes de aprovechar sgid

https://www.in-ulm.de/~mascheck/various/shebang/#setuid

Toma nota del #! El ataque simlink fue un problema de 1983 a 1993, antes del cual shebang no era compatible y después se implementó de manera más segura.

información relacionada