![image-17](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img/https://www.cert.gov.py/wp-content/uploads/2022/03/image-17.png)
Linux ha publicado una actualización de seguridad que subsana una vulnerabilidad en su kernel, que permitiría realizar un escalamiento de privilegios al usuario root.
La vulnerabilidad CVE-2022-0492 de severidad alta, sin puntuación asignada aún. Esta se debe a una falla lógica en la función kernel/cgroup/cgroup-v1.c de la funcionalidad de grupos de control (cgroups) del kernel de Linux. Linux no verificó que el proceso que configura el archivo release_agent tenga privilegios administrativos (capacidad de CAP_SYS_ADMIN), permitiendo así a un atacante obtener un escalamiento de privilegios y así escapar del control aislamiento del espacio de nombres.
Los contenedores que se ejecutan con AppArmor o SELinux están protegidos. Dicho esto, si ejecutan contenedores sin hardening de mejores prácticas o con privilegios adicionales, puede estar en riesgo.
Prisma Cloud detecta y alerta sobre hosts que ejecutan una versión vulnerable del kernel. La plataforma también genera alertas de cumplimiento en contenedores que no están protegidos por Seccomp y en aquellos que no se ejecutan con AppArmor ni SELinux.
CVE-2022-0492 es la tercera vulnerabilidad del kernel en los últimos meses que permite que los contenedores maliciosos escapen.
El siguiente enlace enumera las configuraciones de contenedores vulnerables y proporciona instrucciones sobre cómo probar si un entorno de contenedor es vulnerable:
Recomendamos actualizar a la última versión del kernel de Linux (de su respectiva distribución). Para los casos en los que no sea posible la actualización, recomendamos implementar una de las mitigaciones expuestas en los siguientes enlaces para protección contra contenedores maliciosos:
AppArmor o SELinux:
Seccomp:
Adicionalmente, para protegerse contra los procesos de host malintencionados que intenten escalamiento de privilegios (en escenarios en los que la actualización no es posible) recomendamos:
1. Deshabilitar los espacios de nombres de usuario sin privilegios mediante el siguiente comando:
sudo sysctl -w kernel.unprivileged_userns_clone=0
Nota: tener en cuenta que algunos servicios como Podman se basan en espacios de nombres de usuario sin privilegios y es posible que no funcionen según lo previsto.
2. Evitar que los procesos establezcan el release_agent en cualquier montaje de cgroup mediante el siguiente script:
#!/bin/bash
set -e
mask_dir=/var/lib/cve_2022_0492_release_agent_mask
cgroup_dir=/sys/fs/cgroup
if [ ! -z «$1» ]; then cgroup_dir=$1 ; fi
echo «[+] Creating mask at $mask_dir/mask»
sudo mkdir -p $mask_dir
sudo mount -t tmpfs release_agent_mask $mask_dir
sudo touch $mask_dir/mask
sudo mount -o remount,ro $mask_dir
for release_agent in $(find $cgroup_dir -name ‘release_agent’) ;do
echo «[+] Mounting read-only mask over $release_agent»
sudo mount –bind $mask_dir/mask $release_agent
done
Finalmente, recomendamos a los usuarios de Prisma Cloud que revisen Compute/Monitor/Compliance y determinen si alguno de sus contenedores se ejecuta sin Seccomp. Los usuarios también pueden optar por bloquear los contenedores que se ejecutan sin Seccomp.
Referencias: