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
setuid
y la llamadasystem(3)
, anulando, por ejemplo,ls
,cd
o algo inocuo? - ¿Un vector de escalada de este tipo requeriría que se llame un script (en cuyo caso uno podría potencialmente anular
ls
o 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 ARGUMENTS
incluso 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/sh
es bash, es un vector de escalamiento de privilegios?