Dirty Pipe: una vulnerabilidad que permite sobrescribir datos

Hace poco se dio a conocer la noticia de que fue identificada una vulnerabilidad en el kernel de Linux y la cual ya está catalogada bajo CVE-2022-0847 y a la cual han nombrado como «Dirty Pipe».

Esta vulnerabilidad bautizada como «Dirty Pipe»permite sobrescribir el contenido de la caché de la página para cualquier archivo, incluidos aquellos en modo de solo lectura, abiertos con el indicador O_RDONLY o ubicados en sistemas de archivos montados en modo de solo lectura.

En el aspecto práctico, la vulnerabilidad podría usarse para inyectar código en procesos arbitrarios o dañar datos en archivos abiertos. Por ejemplo, puede cambiar el contenido del archivo authorized_keys para el proceso sshd.

Sobre Dirty Pipe

Es similar a la vulnerabilidad crítica Dirty COW identificada en 2016 y se menciona que Dirty Pipe está al mismo nivel que Dirty COW en términos de peligro, pero que esta es mucho más fácil de operar.

Dirty Pipe se identificó durante el análisis de quejas sobre daños periódicos a archivos descargados a través de la red en un sistema que descarga archivos comprimidos de un servidor de registro (37 daños en 3 meses en un sistema cargado), que se prepararon utilizando la operación splice() y pipes sin nombre.

La vulnerabilidad se ha estado manifestando desde la version del kernel de Linux 5.8, lanzado en agosto de 2020.

Visto de otra manera podemos decir que está presente en Debian 11 pero no afecta el kernel base en Ubuntu 20.04 LTS, mientras que para los núcleos RHEL 8.x y openSUSE/SUSE 15 que se basan originalmente en ramas antiguas, pero es posible que el cambio que causa el problema se haya transferido a ellos (aún no hay datos exactos).

La vulnerabilidad se debe a la falta de inicialización del valor «buf->flags» en el código de las funciones copy_page_to_iter_pipe() y push_pipe(), a pesar de que la memoria no se borra cuando se asigna la estructura, y con ciertas manipulaciones con conductos sin nombre, «buf->flags» puede contener un valor de otra operación. Con esta característica, un usuario local sin privilegios puede lograr la apariencia del valor PIPE_BUF_FLAG_CAN_MERGE en la bandera, lo que le permite sobrescribir datos en la memoria caché de la página simplemente escribiendo nuevos datos en una tubería sin nombre especialmente preparada (pipe).

Para que un ataque pueda ser realizado, se necesita de un archivo de destino que debe ser legible y dado que los derechos de acceso no se verifican al escribir en una canalización, se puede realizar un reemplazo en el caché de la página, incluso para archivos ubicados en particiones de solo lectura (por ejemplo, para archivos c CD -ROM).

Con ello, después de reemplazar la información en el caché de la página, el proceso, al leer los datos del archivo, no recibirá los datos reales, sino los reemplazados.

Se menciona que la operación de Dirty Pipe se reduce a crear una tubería sin nombre y llenarla con datos arbitrarios para lograr la configuración de la bandera PIPE_BUF_FLAG_CAN_MERGE en todas las estructuras de anillo asociadas con ella.

A continuación, los datos se leen de la tubería, pero el indicador permanece establecido en todas las instancias de la estructura pipe_buffer en las estructuras de anillo pipe_inode_info. Luego, se realiza una llamada a splice() para leer los datos del archivo de destino en una tubería sin nombre, comenzando en el desplazamiento requerido. Al escribir datos en esta tubería sin nombre, el indicador PIPE_BUF_FLAG_CAN_MERGE sobrescribirá los datos en el caché de la página en lugar de crear una nueva instancia de la estructura pipe_buffer.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en la nota original en el siguiente enlace.

Ademas, si estás interesado en poder seguir o conocer sobre la publicación de actualizaciones de paquetes en las principales distribuciones, puedes hacerlo desde estas páginas: DebianSUSEUbuntuRHELFedoraGentooArch Linux.

Se menciona que la corrección de vulnerabilidad propuesta, esta disponible en las versiones del Kernel de Linux 5.16.11, 5.15.25 y 5.10.102 y la solución también está incluida en el kernel utilizado en la plataforma Android.

from Linux Adictos https://ift.tt/CNRTjua
via IFTTT

Firefox 98 llega con cambios en motores de búsqueda para algunos usuarios, mejoras y mas

Se acaba de dar a conocer el lanzamiento de la nueva versión de Firefox 98 en la cual podremos encontrar que se modificó el comportamiento al descargar archivos: en lugar de mostrar un aviso antes de iniciar la descarga, los archivos ahora comienzan a descargarse automáticamente y se muestra una notificación en el panel cuando la descarga ha comenzado.

A través del panel, el usuario puede en cualquier momento recibir información sobre el proceso de descarga, abrir el archivo descargado durante la descarga (la acción se realizará después de que se complete la descarga) o eliminar el archivo.

En la configuración, es posible habilitar un mensaje para cada inicio y definir una aplicación predeterminada para abrir archivos de un tipo determinado.

Otro cambio que podremos encontrar en esta nueva versión de Firefox 98 es que se agregaron nuevas acciones al menú contextual que se muestra al hacer clic derecho en los archivos en la lista de descargas. Por ejemplo, al usar la opción «Abrir siempre archivos similares», se puede permitir que Firefox abra automáticamente un archivo después de que se complete la descarga en una aplicación asociada con el mismo tipo de archivo en el sistema.

También se puede abrir el directorio con los archivos descargados, ir a la página desde la que se inició la descarga (no la descarga en sí, sino el enlace de descarga), copiar el enlace, eliminar la mención de la descarga del historial de navegación y borrar la lista en el panel de descargas.

Por otra parte, se destaca para algunos usuarios que se ha cambiado el motor de búsqueda predeterminado. Por ejemplo, la compilación del navegador en inglés, en lugar de Google podremos encontrar a DuckDuckGo que ahora se habilita a la fuerza de forma predeterminada. Al mismo tiempo, Google se mantuvo entre los buscadores como opción y se puede activar por defecto en los ajustes.

La razón para forzar un cambio en el motor de búsqueda predeterminado es la imposibilidad de continuar proporcionando controladores para algunos motores de búsqueda debido a la falta de un acuerdo oficial (permiso formal). El acuerdo con Google para transferir el tráfico de búsqueda duró hasta agosto de 2023 y generó alrededor de 400 millones de dólares al año, que es la mayor parte de los ingresos de Mozilla.

Ademas, tambien podremos encontrar un panel de compatibilidad agregado a las herramientas de desarrollo web. El panel muestra indicadores que le advierten sobre posibles problemas con las propiedades CSS del elemento HTML seleccionado o de toda la página, lo que le permite determinar incompatibilidades con diferentes navegadores sin probar la página por separado en cada navegador.

¿Como instalar o actualizar la nueva versión de Firefox en Linux?

Los usuarios de Firefox que no hayan desactivado las actualizaciones automáticas recibirán la actualización automáticamente. Aquellos que no quieran esperar a que eso suceda pueden seleccionar Menú> Ayuda> Acerca de Firefox después del lanzamiento oficial para iniciar una actualización manual del navegador web.

La pantalla que se abre muestra la versión actualmente instalada del navegador web y ejecuta una búsqueda de actualizaciones, siempre que la funcionalidad esté habilitada.

Otra opción para actualizar, es si eres usuario de Ubuntu, Linux Mint o algún otro derivado de Ubuntu, puedes instalar o actualizar a esta nueva versión con ayuda del PPA del navegador.

Este lo pueden añadir al sistema abriendo una terminal y ejecutando en ella el siguiente comando:

sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa -y 
sudo apt-get update
sudo apt install firefox

Para el caso de los usuarios de Arch Linux y derivados, basta con ejecutar en una terminal:

sudo pacman -Syu

O para instalar con:

sudo pacman -S firefox

Finalmente para aquellos que prefieren del uso de los paquetes Snap, podrán instalar la nueva versión en cuanto sea liberada en los repositorios de Snap.

Pero pueden obtener el paquete directamente desde el FTP de Mozilla. Con ayuda de una terminal tecleando el siguiente comando:

wget https://ftp.mozilla.org/pub/firefox/releases/98.0/snap/firefox-98.0.snap

Y para instalar el paquete solo tecleamos:

sudo snap install firefox-98.0.snap

Finalmente, pueden obtener el navegador con el último método de instalación que fue añadido «Flatpak». Para ello deben contar con el soporte para este tipo de paquetes.

La instalación se hace tecleando:

flatpak install flathub org.mozilla.firefox

Para el resto de las distribuciones de Linux, pueden descargar los paquetes binarios desde el siguiente enlace.

from Linux Adictos https://ift.tt/Y5EBcPm
via IFTTT