Bug keyring.

Todo sobre seguridad, exploits, vulnerabilidades, bug's, etc.

Moderador: Moderadores

Bug keyring.

Notapor Newhack » Dom Abr 10, 2016 6:33 pm

No se si poner esto aqui o en linux, Pero como es una cuestión que afecta a la seguridad de
tu ordenador por ahora lo dejo aqui. Movedlo si estorba.



Con la rapidez y eficiciencia que me caracterizan, procedo a dar cuenta de un bug
que se encontró en el comportamiento del kernel.

A fecha del reporte no se tenía constancia de que hubiera sido nunca explotado,
pero estar está, asi que mejor eliminarlo, y más ahora que se sabe de su existencia.

Vamos a ver si consigo dar al menos una orientación de que es y por donde trabaja,
que en este tema no me resulta nada fácil, pero como decía Morfeo a Neo, "Yo solo
os muestro la puerta, vosotros debereis decidir si cruzarla".
La puerta, por cierto, para aquellos que quieran saberlo todo es la CVE_2016_0728.

Técnicamente se trata de un bug de escalada de privilegios, que afecta a varios
millones de pc y servidores, y según algunos cálculos como al 66 por ciento de
dispositivos android.
El bug existe desde el 2012, pero no ha sido descubierto hasta mediados de enero
de este año.

El bug se produce por una fuga de algunas referencias al "llavero" (keyring) que
pueden ocurrir bajo ciertas condiciones.
¿Como es eso?. Veamos.

Cada proceso de los que manejan datos de seguridad, autentificación, cifrado u otros
puede disponer de su propio keyring, que puede tener un nombre concreto o solo la una
referencia que alude a el, (se decide en la llamada a keyctl ).
Este objeto, (el keyring), puede se compartido por otros procesos pasandose la
referencia al mismo, si un proceso ya tenía un keyring de esta sesión la llamada lo
sustituye por el que ha de compartir en este trabajo, y se incrementa un contador
interno que hay, en el campo "usage", del número de objetos.

El error ocurre cuando un proceso intenta reemplazar un keyring por exáctamente
el mismo que ya hay. Entonces se bifurca hacia una posición de error, que han hallado
que no enfoca del todo bien el punto de continuación, saltándose un call que debería
hacerse, (key_put), y permitiendo una fuga, que se incrementa por "find_keyring_by_name".

Y aún mas, ya que se han fijado que la cifra del contador está en formato "atomic_t",
(sea lo que sea este tipo. :doubt:), y que comparte con los integers la teorica posibilidad de
provocarle un overflow, en este caso, para prevenir el overflow del campo usage no se efectuan comprobaciones, con lo cual la cosa empiezaria a descontrolarse yendo a peor
bajo un "operador malefico". :badgrin:


Hay aún mas cosas a considerar, pero como ya dije mejor que os las detallen los que
saben y controlan de esto.


http://www.neoteo.com/un-nuevo-bug-en-l ... e-usuarios
http://perception-point.io/2016/01/14/a ... 2016-0728/

http://arstechnica.com/security/2016/01 ... id-phones/

Saludos a todos.
Avatar de Usuario
Newhack
<|:-D
<|:-D
 
Mensajes: 1824
Registrado: Jue Dic 20, 2007 7:36 pm

Volver a Seguridad

¿Quién está conectado?

Usuarios navegando por este Foro: psbot [Picsearch] y 2 invitados