Un error de Linux de 15 años permitió a los atacantes obtener privilegios de administrador

Tres errores encontrados en el núcleo principal de Linux resultaron tener unos 15 años. Uno de estos errores resultó ser utilizable como escalamiento de privilegios locales (LPE) en múltiples entornos de Linux.

Los investigadores de GRIMM revelaron los errores 15 años después de que se introdujeran en 2006 durante las etapas iniciales de desarrollo del subsistema del kernel iSCSI.

¿Qué es SCSI?

El transporte de datos SCSI (Small Computer System Interface) es un estándar para transferir datos creado para conectar computadoras con dispositivos periféricos, originalmente a través de un cable físico, como discos duros.

 SCSI es un estándar venerable publicado originalmente en 1986 y era el método de referencia para las configuraciones de servidor, e iSCSI es SCSI sobre TCP.

Los errores kernel de Linux

  • La primera vulnerabilidad es un desbordamiento del búfer de pila en el subsistema iSCSI – (CVE-2021-27365)
    Versiones afectadas: probado en RHEL 8.1, 8.2 y 8.3
    Impacto: LPE, fuga de información, denegación de servicio (DoS)
  • GRIMM descubrió una fuga de puntero del kernel que se puede utilizar para determinar la dirección de la estructura iscsi_transport. (CVE-2021-27363)
    Versiones afectadas: probadas en RHEL 8.1, 8.2 y 8.3
    Impacto: fuga de información
  • La última vulnerabilidad es una lectura del kernel fuera de los límites (CVE-2021-27364)
    Versiones afectadas: probadas en RHEL 8.1, 8.2 y 8.3
    Impacto: fuga de información, DoS

Impacto

Debido a la naturaleza no determinista de los desbordamientos de montón, la primera vulnerabilidad podría usarse como un DoS local no confiable. Sin embargo, cuando se combina con una fuga de información, esta vulnerabilidad puede explotarse aún más como un LPE que permite a un atacante escalar de una cuenta de usuario sin privilegios a root.

Sin embargo, no es necesaria una fuga de información separada, ya que esta vulnerabilidad también se puede usar para filtrar la memoria del kernel. La segunda vulnerabilidad (fuga de puntero del kernel) tiene menos impacto y solo podría servir como una posible fuga de información. De manera similar, la tercera vulnerabilidad (lectura fuera de límites) también se limita a funcionar como una posible fuga de información o incluso como un DoS local no confiable.

Diagrama de flujo de impacto

Correcciones disponibles

Las tres vulnerabilidades están parcheadas a partir de 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 y 4.4.260, y los parches estuvieron disponibles en el kernel principal de Linux el 7 de marzo. No se lanzarán parches para versiones de kernels no compatibles con EOL como 3.xy 2.6.23.