7 puntos por kuroneko 2023-07-20 | 3 comentarios | Compartir por WhatsApp
  • Qualys descubrió en OpenSSH una vulnerabilidad que permite la ejecución remota de código a través del reenvío del agente SSH.
  • El reenvío del agente SSH se usa principalmente en CI/CD y similares, cuando se intenta iniciar sesión utilizando credenciales ubicadas en un sistema remoto sin almacenar directamente las credenciales.
  • La vulnerabilidad se origina en la parte donde el agente SSH permite compatibilidad con PKCS11.
    • Para dar soporte a PKCS11, se permite que un usuario remoto cargue y cierre bibliotecas compartidas ubicadas en una ruta de confianza.
    • Tras probar todas las bibliotecas compartidas instaladas por defecto en Ubuntu Desktop, se encontró que las bibliotecas predeterminadas normalmente no están diseñadas para cerrarse, por lo que al cerrarlas desde el agente SSH se producen errores.
    • Estos errores generan algunas señales del sistema y, al combinarlas, se logró ejecutar código arbitrario de forma remota.
  • OpenSSH corrigió esto simplemente desactivando el soporte remoto de PKCS11 y modificándolo para administrar las bibliotecas compartidas mediante una lista blanca.
    • Antes se podían cargar todas las bibliotecas compartidas ubicadas dentro de la carpeta lib.
  • Si usas la función de reenvío del agente SSH, debes desactivar el soporte de PKCS11 cuando no sea necesario.

3 comentarios

 
galadbran 2023-07-20

¿Hay que desactivarlo en la PC personal? ¿O es una configuración del servidor…?

 
kuroneko 2023-07-21

Parece que no te afecta en absoluto si nunca has usado ssh-agent forwarding.

 
kuroneko 2023-07-20

Le eché un vistazo rápido a la explicación detallada de la vulnerabilidad, pero no logro entenderla...
Dicen algo de los handlers de SIGBUS y SIGSEGV, que eso provoca un SIGTRAP, que guardan algo en un búfer de pila y hacen que salte hacia ahí...

Se supone que todo eso lo controlan cargando y descargando librerías, pero sinceramente no entiendo muy bien de qué va.
Supongo que es de esas cosas de "ah, ok, así será"...

Si les interesa, hay una documentación muy detallada que al parecer hasta incluye ejemplos,
así que les recomiendo leerla una vez.