Seguridad

Ejecución remota de código en Apache OpenOffice

Un fallo en el procesado de ficheros .dbf de Apache OpenOffice permitiría a un atacante remoto ejecutar código arbitrario en la máquina de la víctima.

Apache OpenOffice es un popular software de procesamiento de textos gratuito y de código abierto. Desde su lanzamiento en 2002 cuenta con una gran base de usuarios que se estima en torno a 200.000 en todo el mundo.

Recientemente el investigador de seguridad Eugene Lim ha publicado los detalles de un CVE que afecta a la última versión publicada del software (4.1.10) y que permitiría a un atacante remoto comprometer la máquina de la víctima.

La vulnerabilidad, bautizada con CVE-2021-33035 se debe a un error en el procesado de ficheros ‘.dbf’ que podría desencadenar un desbordamiento de la memoria intermedia y la posible ejecución de código.

La estructura de un fichero DBF se compone de una cabecera: donde se define la versión de la base de datos dBase, una marca de tiempo (que indica cuándo se actualizó), la longitud de los registros y la longitud de la cabecera, así como otros metadatos adicionales. Por otra parte estaría el cuerpo, que contiene todos los registros descritos en la cabecera con la información correspondiente.

Un atacante podría manipular la cabecera de un archivo DBF, especificando rangos de memoria incorrectos en la definición de los registros y provocar el desbordamiento. En concreto, Eugene consiguió explotar el desbordamiento manipulando los campos ‘fieldLength’ y ‘FieldType’.

Modificación de los registros. Fuente: https://medium.com/csg-govtech

Apache ya ha publicado un parche que fuerza la comprobación del tamaño del ‘buffer’ para evitar el desbordamiento.

else if ( DataType::INTEGER == nType )
{
  OSL_ENSURE(nLen == 4, “Invalid length for integer field”);
  if (nLen != 4) {
    return false;
  }
  sal_Int32 nValue = 0;
  memcpy(&nValue, pData, nLen);
  *(_rRow->get())[i] = nValue;
}

Recomendamos a todos los usuarios de la suite de OpenOffice que apliquen cuanto antes el parche o instalen alguno de los paquetes actualizados por Apache en su página.

Más información:

All Your (d)Base Are Belong To Us, Part 1: Code Execution in Apache OpenOffice (CVE-2021–33035)

La entrada Ejecución remota de código en Apache OpenOffice se publicó primero en Una al Día.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.