Incluso sin el problema inmediato de ejecución de código de los comandos finales Shellshock , ¿en qué medida la característica de las funciones de importación de bash del entorno genera una vulnerabilidad integral de escalamiento de privilegios?
Para ser claros, hay muchos programas setuid, y algunos de ellos llamarán directa o indirectamente a los scripts, o usarán la llamada system(3) , que en la mayoría de los sistemas Linux pasa por bash . La pregunta es hasta qué punto, asumiendo que los sistemas tienen dichos setuid binarios instalados , esta característica de bash permite la escalada de privilegios locales.
- Por ejemplo, si llamar a una secuencia de comandos, ¿permite anular las incorporaciones? Si es así, puede dar lugar a una escalada de privilegios en combinación con un ejecutable
setuidy la llamadasystem(3), anulando, por ejemplo,ls,cdo algo inocuo? - ¿Un vector de escalada de este tipo requeriría que se llame un script (en cuyo caso uno podría potencialmente anular
lso cualquier comando utilizado por el script que no utilizó una ruta completa)? - ¿Es posible que las funciones importadas se usen en cualquier momento por la ruta de ejecución normal de
/bin/sh -c ARGUMENTSincluso cuando el primer argumento no es un script? - ¿Podría simplemente dar a una variable de entorno el mismo nombre que el primer argumento para
system? - Si es así, ¿significa que cada llamada a
system(3)por un ejecutable de setuid, en un sistema donde/bin/shes bash, es un vector de escalamiento de privilegios?