Shellshock es un término colectivo para una serie de problemas de seguridad de Linux en el shell bash. Bash es el terminal predeterminado en muchas distribuciones de Linux, lo que significó que los efectos de los errores fueron particularmente generalizados.
Nota: La vulnerabilidad no afectó a los sistemas Windows porque Windows no usa el shell bash.
En septiembre de 2014, el investigador de seguridad Stéphane Chazelas descubrió el primer problema en Bash y lo informó en privado a la persona que lo dirigía. Trabajó con el desarrollador responsable del mantenimiento de Bash y se desarrolló un parche que solucionó el problema. Una vez que se lanzó el parche y estuvo disponible para su descarga, la naturaleza del error se lanzó al público a fines de septiembre.
A las pocas horas de la divulgación del error, estaba siendo explotado en la naturaleza, y en un día, las redes de bots basadas en el exploit, utilizadas para realizar ataques DDOS y escaneos de vulnerabilidades, estaban en su lugar. Si bien un parche ya estaba disponible, los usuarios no podían implementarlo lo suficientemente rápido para evitar la avalancha de explotación.
Se identificaron otras cinco vulnerabilidades relacionadas durante los próximos días. Nuevamente, los parches se desarrollaron y lanzaron rápidamente, pero a pesar de la explotación activa, las actualizaciones no se aplicaron necesariamente de inmediato o incluso estuvieron disponibles de inmediato en todos los casos, lo que resultó en máquinas más vulnerables.
Las vulnerabilidades provienen de una variedad de vectores, incluidas las llamadas al sistema del servidor web basado en CGI, que se manejaron mal. El servidor OpenSSH permitió la elevación de privilegios de un shell restringido a un shell no restringido. Los servidores DHCP maliciosos podrían ejecutar código en clientes DHCP vulnerables. Al procesar mensajes, Qmail permitió la explotación. El shell de IBM HMC limitado se puede aprovechar para obtener acceso a un shell de bash completo.
Debido a la naturaleza generalizada del error, así como a la gravedad de las vulnerabilidades y la avalancha de explotación, a menudo se compara Shellshock con «Heartbleed». Heartbleed era una vulnerabilidad en OpenSSL que hacía que el contenido de la memoria se perdiera sin la interacción del usuario.