Vulnerabilidad en LibreOffice
Función
Esta función recibe un parámetro que debe ser una URL de cualquier servicio web. Existen una serie de restricciones sobre esta función, devolverá #VALUE! error :
- Si no puede obtener los datos del WebService.
- Si se devuelve una cadena no válida o que contenga más caracteres que lo permitido por las celdas (longitud máxima: 32767).
- Si la URL contiene una cadena de más de 2048 caracteres permitidos en una petición GET
- No están soportados los protocolos ‘file://’ o ‘ftp://’
La vulnerabilidad se encuentra en nuestro punto número 4. Esta restricción no está implementada en LibreOffice. Por defecto las celdas no se actualizan, pero si se especifica el tipo de celda como ‘~error’ hará que la celda se actualice cuando se abra el documento.
Explotación
Para explotar esta vulnerabilidad se necesita enviar los archivos desde el usuario actual por lo que se necesita la ruta de su carpeta de usuario, para explotarla solo necesitamos:
Explotación |
También podemos hacer una llamada a otros ficheros muchos más importantes.Es posible explotar esta vulnerabilidad en otros formatos que no sean los de LibreOffice.
Impacto y versiones vulnerables
Es muy preocupante la facilidad de enviar cualquier archivo con información sensible.
Por ahora las versiones de LibreOffice vulnerables a este ataque son:
- LibreOffice 5.4.5 hasta 6.0.1
- Explotable en cualquier plataforma Linux/Windows/macOS
Créditos
Reportada por Mikhail Klementev (@jollheef)
Reporte
http://seclists.org/fulldisclosure/2018/Feb/32
Prueba de conceto (PoC):
https://github.com/jollheef/libreoffice-remote-arbitrary-file-disclosure
Powered by WPeMatico