Se ha anunciado la existencia de una vulnerabilidad en el
kernel de Linux que podría permitir a usuarios locales obtener privilegios de
root y que todo indica que existíadesde hace más de 11 años. Las principales
distribuciones ya disponen de actualizaciones.
El fallo, al que se le ha asignado el CVE-2017-6074, reside en una doble liberación de memoria, fue descubierto por Andrey Konovalov, ingeniero de software de Google, mediante syzkaller, un fuzzer (un tipo de analizador) Linux de código abierto desarrollado por la propia firma.
Concretamente, la vulnerabilidad se encuentra en la
implementación del protocolo DCCP (Datagram Congestion Control Protocol) desde
la primera versión en soportarlo, la 2.6.14 (que data de octubre de 2005). Y que
según describe el propio investigador podría aprovecharse para conseguir la
ejecución de código kernel desde un proceso sin privilegios.
Para que un sistema sea vulnerable, el kernel debe estar compilado con la opción CONFIG_IP_DCCP. Actualmente, muchas de las distribuciones incluyen esta opción activa por defecto.
Recomendación
El problema se reportó a los desarrolladores del kernel
el pasado 15 de febrero, dos días después ya existía un parche y se notificó a
las distribuciones, la mayoría de las cuales ya disponen de actualizaciones.
- Red Hat Enterprise Linux 6 http://rhn.redhat.com/errata/RHSA-2017-0293.html
- Ubuntu Linux 12.04 LTS https://www.ubuntu.com/usn/usn-3206-1/
- Red Hat Enterprise Linux 7 http://rhn.redhat.com/errata/RHSA-2017-0294.html
- Ubuntu Linux 16.10 https://www.ubuntu.com/usn/usn-3209-1/
- Red Hat Enterprise Linux 7. http://rhn.redhat.com/errata/RHSA-2017-0295.html
- Ubuntu Linux 14.04 LTS https://www.ubuntu.com/usn/usn-3207-1/
- Ubuntu Linux 16.04 LTS https://www.ubuntu.com/usn/usn-3208-1/
- Oracle Linux 6 https://linux.oracle.com/errata/ELSA-2017-0293.html
- Oracle Linux 6 y 7. https://linux.oracle.com/errata/ELSA-2017-0294.html
- Linux kernel: CVE-2017-6074: DCCP double-free vulnerability (local root) http://seclists.org/oss-sec/2017/q1/471
- Syzkaller https://github.com/google/syzkaller
- dccp: fix freeing skb too early for IPV6_RECVPKTINFO https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4