Hace 16 años | Por lolerman a eyeideas.es
Publicado hace 16 años por lolerman a eyeideas.es

Explicación de como una feature normal y corriente, termina convirtiendose en un bug que permite congelar linux usando solo un pendrive o un cd, no existe parche para remediarlo...

Comentarios

kahun

#5 Changes: pmount (0.9.13-4)
* Fix potential kernel panics with custom ext2/3 filsystems

Y por cierto eso de que no se requiere ser root habrá que probarlo

jotape

Se ha tardado 10 comentarios en soltar un "Pero no es un bug, por que es en linux, no?"

Los windowseros de menéame están perdiendo reflejos lol

e

Un usuario local que debe tener cuenta en dicha máquina puede, con un pendrive a mala leche, congelar el sistema de ficheros.

Señores, hay bugs bastante más graves (y ni siquiera necesitan tener una cuenta en la máquina a hackear). Se me ocurren usuario cafre + martillo, usuario cafre + ventana abierta, usuario cafre más sistema antincendios, ...

D

Hombre, un "cierto" peligro, desde un punto de vista "casero", no? Ya que las consecuencias de esto pueden ser graves en entornos laborales, y de graciosos está el mundo lleno, de todas formas, está claro que es una feature, pero que con el tiempo, ha ido degenerando debido a la evolución de su entorno, ahora mismo, constituye un problema de seguridad local a nivel de usuario, lo que en el argot de seguridad, se llama bug.

Yo considero que el bug si es de Linux debido a que es muy facil checkear el uid, y ver si el montaje viene desde root, o no, y si no viene desde root, no hacer panic();, cuando la ejecución se produce con suid, el uid no pasa a ser 0, es el euid (effective uid) el que pasa a ser 0, por lo que el check, es muy simple, y solo root podría hacer panic.

kahun

#19 Para que me creas, puedes ver el bug reportado en debian:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=427402

Y la lista de cambios en pmount en el launchpad de ubuntu:
https://launchpad.net/ubuntu/+source/pmount/

Tienes razón en que no debería ser pmount quien lo arregle pero como ya dije antes pmount se implementó precisamente para evitar estas cosas, es mejor solucionar los problemas antes de que sucedan que esperar luego a arreglarlos.

P.D.: Y yo también te pido disculpas si en algún momento te he ofendido en esta discusión.

D

#9 yo instalo un debian nuevo, nada mas terminar de instalarlo, meto un pendrive especialmente preparado (a nivel de software), el sistema se congela, perdiendo el trabajo que no haya guardado.

Pero no es un bug, por que es en linux, no?

Para mejorar el software libre hay que analizarlo, estudiarlo, y encontrar sus defectos, defendiendo como talibanes que congelar una máquina configurada por defecto, metiendo un pendrive, no es una vulnerabilidad potencial que puede producir perdida de trabajo, no se avanza...

diegocg

No es ni un bug ni una vulnerabilidad, simplemente a la gente le gusta hablar sin saber. El sistema puede desactivar tranquilamente esas opciones al montar una imagen, y DEBERIA HACERLO, del mismo modo que se desactivan ej: los suids para evitar que la gente meta en un disquete un ejecutable-virus de root con SUID activado creado en otro sistema.

D

#29 no vayas por ahí que con Mac vas a salir escaldado. Y por cierto, si el Open Source es tan desastre porque estás usando tu ahora mismo en tu Mac millones de lienas de codigo abierto? que por cierto, yo estoy usando esas mismas lineas de código, pero no he pagado una pasta por ellas como tu...

D

#18 Yo puedo convencerte muy fácilmente de que tu mismo introduzcas un pendrive en un sistema de tu propiedad, pero lo voy a tener muy difícil para convencerte de que le quites el cable de la corriente

zitro

Última hora, otro bug encontrado en linux, si reinicias la máquina con un boot cd y formateas el sistema de archivos podrías perder todos tus datos. En fin...

q

Interesante el post. Comento:

Bueno, es grave hasta cierto punto y es que se trata de algo a nivel local. Si puedes tener acceso a ese equipo para meterle un pendrive/cd con el sistema de ficheros con ese bit activado también podrías meter ese mismo pendrive y hacer cualquier otra cosa como arrancarte otro OS desde el que montar las particiones del equipo a tu gusto y llevarte/cambiar o borrar la información, cambiar las cuentas..
Teniendo acceso a la máquina también puedes conectarle un punto de acceso chiquitin y esconderlo detrás y un largo etcétera.
La seguridad de un equipo cuando estás sentado en el asiento por decirlo en cierto modo ya sabemos cual es... Si nos preocupa eso entonces tenemos que contratar seguridad (seguratas) o lo que sea. Por eso el tipo de vulnerabilidades o posibilidad de problemas de seguridad a los que sí se suele prestar más atención son los que se pueden hacer por remoto.

lolerman

#44 que feliz es la ignorancia. Con una pequeña corriente (como una pila o una petaca de pilas) conectada al usb o incluso cortocircuitando el usb solo consigues quemar el chip del host usb (y en consecuencia todos los puertos usbs que funcionen sobre dicho chip tambien dejarian de funcionar), con lo que te cargarías el chip pero no conseguirias ni que se congelase el software ni un apagon ni nada.

Como es posible que no veais un bug (o fallo en software) en algo TAN obvio?

Se está hablando de que con un simple pen o cualquier otro método que tengais de montar una partición maliciosamente preparada se congela un sistema entero, sin mas.

Acaso es tan difícil de entender que aunque sea una situación muy poco común no deja de ser un bug?

En fin me he reido de leer tanto comentario de personas que o bien no entienden de lo que hablan o que bien no se han detenido un minuto a pensar sobre el tema.

kahun

#12 ¿Y tu sabes leer? pmount monta automáticamente todos los dispositivos usb en todas las distros, pmount lo monta en modo usuario y hay una opción que si encuentra un error se lo salta que es el modo como se comporta ahora por defecto. Así que como no te busques otra forma de montar el pendrive que no sea pmount ... no se, a ver, que se me ocurre, mount? si!!! y que con que usuario puedes usar mount?

¿Para qué te crees que se implementó pmount? pues precisamente para evitar estas cosas.

D

#16 puedo modificar la opción por defecto con tune2fs ANTES de darte el pendrive, por lo que tu no sabrías nada de esto, y te haría un "panic on error" por la cara

El bit va en el propio sistema de archivos, no en como se comporta tu sistema, por lo que cada sistema de archivos, decide como actuar en caso de error, al margen de lo que haya por defecto en ext3.

D

#11 tu sabes leer tio? no me gusta exaltarme

NO NECESITAS ROOT PARA ESTO.

Te lo voy a explicar de otra manera, en MI pc, creo todo el entorno, consigo el pendrive malicioso, entonces, voy a tu casa, donde tienes tu debian normal y corriente, meto el pendrive, y ala, se cuelga, kernel panic

Yo no tenia root.

No necesito root por que quien llama a panic(); (así se llama la función en el kernel) es el kernel, es código en ring0 y no tiene restricciones.

D

#21 Si te quieres saltar la estructura de permisos y seguridad de GNU/Linux/POSIX para permitir a cualquier paleto (ej: kde) montar automáticamente lo que le metan, es responsabilidad tuya (aka: del wrapper) asegurarte de que no le revienta en la cara. No metas al kernel de por medio para solucionar tu incompetencia (aka: del wrapper).

e

#34, ¿Y sigues usando MacOS o te has actualizado a algo un poco más nuevo?

Por cierto, para los que todavía gateábamos cuando tú ya eras maestro de D. Ritchie, si que un equipo se cuelgue por enchufarle un pendrive malicioso no se ve en ningún lado, ¿qué opinas de un sistema operativo al que se le puede congelar el finder si tratas de leer un CD rayado?

D

¿Y qué pasa en la versión 7.10 de Ubuntu, en la que pmount se ha caído de la instalación por defecto? Aún no he descubierto qué orden es la que monta los pendrives con permisos de usuario... ¿kio_media_mounthelper?

Estoy de acuerdo con jcarlosn en que se debería arreglar el módulo del kernel, no todos y cada uno de los wrappers que montan dispositivos.

IaRRoVaWo

pmount ignora ese bit desde junio de este año, por lo que el fallo de seguridad no será explotable en entornos actualizados con ese parche o que tengan pmount>=0.9.13-4.

D

#29 Ya te digo, menudo pedazo de mierda que es el Lunix ese, no como el grandioso e impoluto Leopard... oh, wait!!

http://osnews.com/story.php/18968/Leopard-From-Questionable-Customer-Service-to-Questionable-OS/

D

Cuidado, yo soy usuario de Linux y lo defiendo, pero hay algo que es cierto:

1. EL BIT EXISTE
2. EL BIT FUNCIONA, CUELGA LA MAQUINA
3. EN UBUNTU 7.10 NO SE USA PMOUNT PARA EL AUTOMONTADO
4. EN ALGUNAS DISTROS, (3) NO SE REQUIERE ROOT

En definitva, imaginaros el siguiente escenario:

Un ordenador, al que no tienes acceso físico real, sino que está en un mueble cerrado, en una exposición, en una biblioteca, etc y que el espacio para meter los pendrive e imprimirte cosas etc pero:

1. No puedes apagarlo, por que la política del sistema lo impide
2. No puedes detener las X, por lo mismo
3. No puedes hacer nada que detenga el uso normal de la máquina

Esto hasta aquí es una configuración normalita, ahora bien, vas tu con tu pendrive, lo metes, y placa, byebye máquina.

No todos los bugs son para que los usuarios domésticos se asusten, hay muchos tipos de bugs, que afectan a entornos mas reducidos o menos, en escenarios distintos etc, pero la realidad de fondo, es que en principio, un administrador sabe que debe restringirte para evitar que jodas la máquina, como tirarla por la ventana (cosa imposible si está metida en un mueble en una biblioteca, cerrado con llave) estirar del cable (lo mismo) no darte acceso para reiniciarla (para que no uses live cd's) etc, y Linux en principio le garantiza que desde userland, y con todo eso bien echo, la máquina no podrá ser detenida (si no para que se inventaron las políticas del sistema?)

Y ahora viene uno con un pendrive, lo mete y te jode.

La informática no es solo la informática del hogar, por favor... que hay MILLONES de escenarios posibles, y una situación excepcional, no prevista y que actúa de esta forma, es la que los jode, el día que tengáis que montar una máquina en un entorno controlado especifico, entenderéis lo que digo...

e

#29, Te voy a revelar un secreto: Cualquier usuario local puede congelar definitivamente un OS X. GOTO #13, #18, #25, #26, #27, ... haz cualquiera de esas pruebas y verás como Leopard también se cuelga. Por cierto, esto sí son bugs:
Problemas con baterías y teclados en Mac OS Leopard

Hace 16 años | Por Zootropo a neowin.net

Vulnerabilidad en Apple Mail (OSX Leopard)
Hace 16 años | Por --24040-- a encomix.org

Bug de seguridad en Leopard. Mala combinacion de firefox y stage 6
Hace 16 años | Por pabscon a infonomada.com

D

Síempre nos quedará ntfsdigoparís...

NaNuK

#34 tranquilo, no se trata de talibanismos (aunque los hay), se trata de que en muchos casos se aprovecha la mas minima oportunidad para atacar un sistema que es realmente bueno y sin la perspectiva que tu pides. Linux es mucho mejor que otros SO, pero no por eso deja de tener errores, ¿pero sabes lo mejor de Linux?, que podemos conocer esos errores, los podemos reportar y son solucionados.
Salud

D

#14 Dos cosas, la primera: no conozco exactamente si pmount en la versión que indicas, ha arreglado precisamente esto, la segunda: el problema sigue estando ahí, un flag que emite un panic(); de forma arbitraria.

Entradas en el fstab y un largo etcetera de entornos, siguen estando afectados, así como nuevos futuros softwares, ya que el problema que dices (yo te creo, en principio) que ha solucionado pmount, no era un problema en pmount, sino que pmount ha "limpiado" los problemas de otros, por lo que siguen estando ahí.

De todas formas, te pido disculpas por exaltarme un poco, las discusiones en caliente no son buenas, tu tienes un punto de vista, totalmente respetable, y yo tengo otro, no pasa nada.

Saludos

D

#7 pruebalo cuando quieras.

Adicionalmente, no es el wrapper pmount el que debe fixearlo, eso es incorrecto, esto es problema de la implementación de ext3, o todos los wrappers tienen que fixearlo por su cuenta?

Para probarlo puedes jugar con fsfuzzer y luego con tune2fs le metes el panic bit, coges la imagen, y la metes en un pen drive, lo sacas, lo metes, y verás como se congela, comprobado.

Si te miras el modulo ext3 en el vfs del kernel, verás que no hay ningún condicional al uid del usuario, por lo que una vez saltas a kernel land, influye poco que seas o no root, si no se pone explicitamente un condicional.

reygecko

#29 Se dice "cajón de sastre" jejeje

arieloq

#2 por lo tanto que no haya panic...

D

#3 el kernel emitirá un panic cuando con pmount montes un dispositivo preparado especialmente con lo explicado en el articulo, es ahi donde reside el problema, en que no se requiere root para explotarlo.

NaNuK

#29 vaya trolleada!
te has quedado a gusto, no?

D

#44 claro, vamos a la biblioteca, sacamos los cables de los enchufes, los pelamos, los metemos por la ranura usb... lol

D

Cuanto flame lol

n

Hay gente que cuando escucha seguridad piensa en un segurata, para ellos esto es un bug.
Para los que pensamos en una cámara acorazada, esto no es un bug.

e

#45, ¿A que lo de pelar los cables no tiene ningún sentido? Pues enchufar a sabiendas un pendrive que va a congelar el sistema (nada más), tampoco.

#46, Lo de las pilas lo has dicho tú, no yo.

Y sí, tienes razón. Es un bug. Pero repito, un tío con un hacha también revienta el sistema y, sin embargo, nadie considera eso un bug.

d

Yo me refiero sólo a los talibanes.

Luego ya de Linux cada uno piensa lo que le parece.

saludos.

D

#26, la diferencia es que el Boot CD es un ataque conocido y los administradores de sistema lo prohiben siempre. Pero meter un pendrive USB no es algo que se prohiba en muchos sitios (y yo estoy de acuerdo en que tendría que hacerse)

De todas formas, no hace falta ser un usuario local: un bug de un programa que ejecute código arbitrario (como los que aparecen cada mes en Firefox, por ejemplo) podría explotar la vulnerabilidad de forma remota. Cucha, se me acaba de ocurrir cómo joder al vecino tirándole su ordenador abajo cada cinco minutos desde mi casa. En cuanto me llame pidiendo ayuda le jipio la clave de la WiFi

A

No hace falta darle tantas vueltas. Será muy sofisticado, pero... si hay que acceder al ordenador y al puerto USB, cualquier gracioso puede pulsar el reset o desenchufar, y a la porra, hala.

D

#23, a lo mejor es que no acabo de pillar tu argumentación, pero creía que defendías que no había problema porque pmount ya trataba este caso. Y yo te digo, bueno, pero entonces hay que tener cuidado con todos los wrappers, más aún cuando te prometo que mi Ubuntu 7.10 instalada desde cero y actualizada a noviembre de 2007 NO INCLUYE PMOUNT (y no por mi elección: tan feliz que era yo con esa herramienta).

Y si pmount es capaz de saltarse el bit, es que el bit puede tratarse en espacio de usuario y por tanto si no es pmount, es xyzzy el que mal aprovechará el bit en el futuro. De todas formas hablo por hablar: en unas horas probaré el asunto a ver si es explotable

[Aquí el truco está en "solo funciona con mount", que precisamente es lo contrario de lo que dice el artículo y el quiz de la discusión. Si es verdad, todos seguros, si no...]

e

#42, El escenario que propones es bastante rebuscado, la verdad. Hasta el momento, no he visto ninguna biblioteca que tenga los Pcs en armarios como dices pero, aun así, si alguien quiere freir la máquina, sólo necesitaría pasarle una pequeña corriente por la ranura USB.

D

feature = característica
filesystem = sistema de fichero / sistema de archivos

(Probablemente haya alguna perla más oculta entre vuestros comentarios, pero estoy trabajando y no tengo tiempo de leerlos todos).

Entiendo que hay una dura competencia por convertirse en el más cool de meneame, pero ese no es el camino.

k

Menos mal que yo uso reiserfs

kahun

#8 Tendrías que crear el sistema de ficheros en el pendrive, activarle el bit, conectarlo, desmontarlo, cambiarte a root y montarlo como root y ya puestos hasta puedes usar otro bug ejecutando rm -rf /

d

Esto lo que es es un "cajon desastre", exactamente.

Lo dicho, cuando muchos chupabais teta, yo usaba Mac; no MacOS X, sino MacOS a secas, que no era Unix, ni tenía nada que ver. A finales de los 80. Cuando los PCs tenían el tamaño de un armario.
(esas cosas que veis en blogs frikis y os hacen tanta gracia)

¿Qué hacíais muchos de vosotros entonces? Supongo que aprender a andar.

A mi es que me jode ver cómo alguna gente es tan talibán y tan borrica.

Que le metas un pendrive a Linux y se congele, eso no se ve en ningún otro lado.

No digo que Linux este bien ni mal, a mi Linux me da por culo, como casi todo lo "tecnológico".
Hay cosas bastante más interesantes y gratificantes en la vida de las que ocuparse.

A mi lo que me apena y me pone de mala ostia es la facilidad para comportarse como un talibán que tiene la peña. Peña que el realidad tiene menos prespectiva y autonomía que el peor "bot" del peor videojuego que podáis imaginar.

Utilizando palabras que podáis entender.

saludos.

d

¿Tu crees? Yo no soy windowsero. Uso Mac quizá desde antes de que tú dejaras de chupar teta.
Y mira, aqui apesta a niñato - talibanero - sin novia - linuxero que te mueres de golpe.

Vaya chapuza de bug, tio. Linux es un cajón-desastre para que enreden cuatro crios.