Detectaron una vulnerabilidad en el controlador exFAT de Linux 

vulnerabilidad

Si se explotan, estas fallas pueden permitir a los atacantes obtener acceso no autorizado a información confidencial o, en general, causar problemas

Hace pocos días se dio a conocer la noticia de que fue detectada una vulnerabilidad (ya catalogada bajo CVE-2023-4273) en el controlador para el sistema de archivos exFAT suministrado en el kernel de Linux.

El problema radica en que el controlador permite al montar una partición especialmente diseñada, (por ejemplo, al conectar un USB Flash malicioso), lograr una desbordamiento de pila y ejecute su código con derechos del kernel.

El problema es: el código supone que las entradas del nombre del archivo siempre producen un nombre de archivo concatenado que se ajusta a 255 caracteres (el límite es 258 caracteres, incluye 1 carácter adicional para un byte nulo y 2 caracteres adicionales para la conversión). Almacenar más de 255 caracteres de nombre de archivo en un conjunto de entradas de directorio es una violación del formato del sistema de archivos, pero el controlador de Linux lo acepta, pero también produce un desbordamiento de la pila (porque el nombre del archivo está concatenado en una variable asignada por la pila).

Sobre la vulnerabilidad se menciona que, esta es aprovechada debido a un fallo en la verificación del tamaño al copiar un nombre de archivo a un búfer asignado en la pila da como resultado un desbordamiento de la pila del kernel si se proporciona un nombre de archivo muy largo que excede el límite del sistema de archivos de 255 caracteres.

La función exfat_extract_uni_name() deja de copiar los caracteres en el búfer de destino una vez que se encuentra un carácter nulo (0x0000) y devuelve el número de caracteres copiados. Pero la persona que llama ignora el valor devuelto y avanza el puntero 15 caracteres (30 bytes) para la siguiente iteración. Por lo tanto, es posible omitir (dejar intactos) 14 caracteres o 28 bytes en una iteración. 

La vulnerabilidad está presente en una función que realiza la reconstrucción de nombres largos leyendo cíclicamente registros con partes del nombre del archivo del índice del directorio y fusionando las partes resultantes del nombre en el nombre largo final.

La verificación de tamaño en el código dicha funcion se realizó en relación con cada entrada con una parte del nombre, pero no cubrió el nombre final (por ejemplo, el nombre se puede dividir en 100 partes y alcanzar 1500 caracteres en lugar de 258 caracteres en el buffer).

El investigador que descubrió la vulnerabilidad pudo preparar un prototipo de exploit que permite aumentar sus privilegios en el sistema. Cuando se prueba en una máquina virtual VirtualBox, el exploit funciona el 100% del tiempo, pero cuando se ejecuta en un entorno normal que se ejecuta sobre el hardware, la posibilidad de que se active se reduce a aproximadamente el 50%.

En particular, mi exploit sobrescribe un puntero asignado por pila a una cadena terminada en nulo, por lo que el siguiente intento de agregar un carácter nulo de terminación a esta cadena en realidad se convierte en la primitiva «escribir un byte nulo en una ubicación de memoria elegida por el atacante» .

Tambien se menciona que la vulnerabilidad podría usarse para comprometer los núcleos arrancados en modo UEFI Secure Boot, ya que se menciona que una imagen que contiene un kernel vulnerable, con un script de inicio correspondiente (y el exploit, por supuesto), que se inicia antes que un sistema operativo real, se coloca en una unidad de arranque. Cuando se inicia, esta imagen carga un módulo de kernel malicioso (y sin firmar), que establece su control sobre el modo de kernel y luego cambia al sistema operativo real (por ejemplo, usando la llamada kexec).

Finalmente cabe mencionar que el problema se solucionó en las versiones de Linux que aún tienen soporte. Al momento de la divulgación de la vulnerabilidad la versión del Kernel de Linux más actual era la versión de Linux 6.4.10, pero la nueva versión 6.5 ya cuenta con la corrección.

Para los interesados en realizar un seguimiento de la solución en las diferentes distribuciones, pueden hacerlo desde las siguientes páginas: DebianUbuntu, RHELSUSE Fedora.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

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

Aplicaciones Linux para la técnica Flowtime

Flowtime es una técnica de productividad
La cantidad de estímulos que tenemos en la vida cotidiana hace que concentrarse sea cada vez más difícil, es por eso por lo que las técnicas de productividad son cada vez más populares. En esta ocasión recomendaremos aplicaciones Linux para la técnica Flowtime.

Desde que Frederick Winslow Taylor comenzó sus estudios sobre productividad, se sabe que alternar períodos de trabajo y descanso es la mejor manera de ser productivo.

Trabajo, descanso y productividad

Taylor debe ser una de las personas con más injusta mala fama, en parte gracias a la película de Chaplin. Se ganó el odio de la izquierda por sugerir que empresarios y trabajadores podían beneficiarse mutuamente si colaboraban, y de los capitalistas por afirmar que para tener trabajadores productivos había que pagar buenos sueldos. Pero, su legado continúa vivo en las nuevas generaciones que cada cierto tiempo redescubren sus principios.

La más conocida técnica basada en los principios de trabajo y descanso de Taylor es la técnica Pomodoro. Básicamente consiste en trabajar en 3 períodos de 25 minutos separados por 3 descansos de 5 minutos para finalizar con un último período de 25 minutos y un descanso más largo de 15. El ciclo se repite tantas veces como sea necesario hasta concluir la tarea.

La técnica Pomodoro es genial para tareas monótonas o que no tienes ninguna gana de realizar. Pero, si realizas tareas que requieren una gran concentración como por ejemplo escribir este artículo, resolver problemas matemáticos o trabajar en equipo, puede resultar completamente impracticable.  Es por eso por lo que fueron surgiendo alternativas.

Aplicaciones Linux para la técnica Flowtime

La técnica Flowtime se adapta a la capacidad de concentración de cada uno de nosotros por lo que requiere un trabajo de auto análisis para empezar a usarla. Se trata de determinar cuál es tu tiempo máximo de concentración y cuanto necesitas de descanso para poder volver a alcanzarlo.

El procedimiento es el siguiente

  1. Elije una tarea que tenga un final claro.
  2. Registra la hora en la que empiezas a trabajar.
  3. Cuando empieces a tener dificultades para realizar la tarea, anota la hora y tómate un descanso. Usa un cronómetro que registre el tiempo.
  4. Cuando quieras volver a trabajar anota el tiempo que descansaste y la hora de inicio del nuevo período.
  5. Si hay una interrupción indícala en el registro y continúa con la tarea.

Algunos practicantes de la técnica establecieron fórmulas que si bien no son obligatorias sirven como guía para determinar los plazos de trabajo y descanso.

  • Hasta 25 minutos de trabajo se toman 5 minutos de descanso.
  • Entre 25 y 50 minutos de trabajo se toman 8 minutos de descanso.
  • Entre 50 y 90 minutos de trabajo se toman 10 minutos de descanso.
  • Por encima de los 90 minutos de trabajo se toman 15 minutos de descanso.

Otros prefieren determinar los tiempos de descanso dividiendo el tiempo de trabajo por un mismo número arbitrario. Así por ejemplo si establecemos que el descanso insuma la quinta parte del tiempo de trabajo tendríamos lo siguiente:

  • 60 minutos de trabajo y 12 de descanso.
  • 90 minutos de trabajo y 18 de descanso.

Para implementar la técnica en Linux puedes usar las siguientes aplicaciones

  • Para la tabla de tiempos puedes usar LibreOffice Calc o crear una tabla en LibreOffice Writer, imprimir a PDF y completarla con Xournal++. LibreOffice está en los repositorios, Xournal++ en la tienda de Flatpak.
  • Para medir los tiempos KDE ofrece Kronometer mientras que GNOME Clocks (Repositorios no solo incluye un cronómetro y una alarma sino también un contador de tiempos hacia atrás.
  • Existe una aplicación diseñada como temporizador para la técnica que lleva el nombre poco original de Flowtime. Simplemente tienes que ponerte a trabajar después de indicar por cuanto dividir el tiempo de trabajo y cuando termines empezará a correr el tiempo de descanso. Una alarma te dirá cuando ponerte a trabajar. Este programa también conserva estadísticas sobre tu rendimiento.
  • Superproductivity es un programa que ya he recomendado para la técnica Pomodoro.  No solo es un temporizador ya que también permite gestionar la lista de tareas y compartirla con las versiones para otras plataformas. Solo necesitas ajustar los tiempos de trabajo y descanso en el temporizador.

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

KDE Gear 23.08 ya fue liberado y estas son sus novedades

KDE Gear

KDE se ha publicado desde abril de 2021 con el nombre KDE Gear, en lugar de KDE Apps y KDE Applications

Hace pocos días se dio a conocer el lanzamiento de la nueva versión de KDE Gear 23.08, la cual es la actualización acumulativa de agosto de las aplicaciones de KDE. En esta nueva versión se han realizado diversas mejoras para Dolphin, Okular, Kate, Elise, mejoras de rediseño y más.

En total en esta nueva versión de KDE Gear 23.08, como parte de la actualización se publicaron lanzamientos de 544 programas, bibliotecas y complementos

Principales novedades de KDE Gear 23.08

De los cambios más destacados que se presentan en esta nueva versión de KDE Gear 23.08, están por ejemplo las mejoras en Dolphin, el cual ahora tiene la capacidad de ocultar archivos temporales y de respaldo de forma predeterminada, asi como tambien que ahora cuenta con un indicador de progreso para calcular el tamaño de los elementos.

Otro de los cambios que se destaca de Dolphin, es que panel de información muestra información sobre el archivo seleccionado y no sobre el archivo en el que se encuentra el cursor, ademas de que se implementó el soporte para la duplicación rápida de pestañas haciendo doble clic en la pestaña.

En Okular, se han implementado mejoras asociadas con la firma digital de documentos PDF y es que ahora los firmantes de un documento pueden agregar varios metadatos a la firma, como una explicación del motivo y la información de ubicación, así como colocar una imagen de fondo detrás de la firma.

Ademas de ello, ahora Kalendar pasó a llamarse Merkuro, esto debido a que explican que el nombre anterior ya no corresponde a la funcionalidad actual de la aplicación, que se ha ampliado con herramientas para trabajar con la libreta de direcciones. Cabe mencionar que hay planes para integrar el cliente de correo en Merkuro.

Por otra parte, en KItinerary, se destaca que se agregó la capacidad de importar boletos de tren por número de reserva y nombre del pasajero, así como soporte para descargar detalles de la reserva desde el sitio web de la compañía ferroviaria.

En Skanpage, se destaca la capacidad de reorganizar las páginas escaneadas mediante el movimiento de arrastrar y soltar, ademas de que se agregaron configuraciones para ajustar el brillo, el contraste y el balance de color.

Kate tambien recibió mejoras en esta nueva versión de KDE Gear 23.08, y es que se ha agregado compatibilidad con GLSL (lenguaje de sombreado) y las secuencias de comandos del motor de juegos Godot al cliente LSP.

En Elise, se agregó un efecto visual para un reemplazo suave, ademas de que se proporciona la capacidad de controlar la configuración de repetición y reproducción aleatoria a través de otras aplicaciones que admiten el protocolo MPRIS, como el widget Media Player o la aplicación KDE Connect que se ejecuta en un teléfono inteligente.

Tokodon ha sido rediseñado con la implementación del cliente para la plataforma descentralizada de microblogging Mastodon, junto con el cual se agregaron herramientas para moderar y administrar su propio servidor Mastodon, así como también administrar usuarios y configurar conexiones a otros servidores. Además, se agregó soporte para enviar mensajes a través de otras aplicaciones, guardar un token de acceso usando KWallet, ver todas las cuentas bloqueadas o congeladas, vincular un estado a un perfil y ver etiquetas que están ganando popularidad.

De los demás cambios que se destacan:

  • Se ha rediseñado el diseño del programa de mensajería Neochat que utiliza el protocolo Matrix. Se agregó soporte para mostrar la ubicación de usuarios y eventos en el mapa.
  • La aplicación de formación KWordQuiz ha sido rediseñada y reescrita utilizando QML.
  • El visor de imágenes ha rediseñado el efecto visual que se aplica al pasar de una imagen a otra.
  • La barra de zoom se ha actualizado. Barras de herramientas y configuraciones mejoradas.
  • Spectacle, un programa de captura de pantalla, facilita el trabajo con anotaciones.
  • Konqueror Browser garantiza que las ventanas y pestañas abiertas anteriormente se restablezcan después de reiniciar.
  • El emulador de terminal Konsole ahora muestra una notificación después de completar procesos de ejecución prolongada.
  • Okular también ha agregado la capacidad de configurar el modo de escala predeterminado al imprimir.
  • Se ha agregado al menú contextual un elemento para copiar el texto de la anotación al portapapeles.

Finalmente si estás interesado en poder conocer más al respecto, sobre este lanzamiento, puedes consultar los detalles en el siguiente enlace.

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

Python llegó a Excel

Python en Excel

Pasaron 15 años desde que Steve Ballmer, entonces uno de los principales ejecutivos de Microsoft calificara al software libre de cáncer.  Curiosamente, fue el propio Ballmer quien inició el camino que tuvo un nuevo hito cuando finalmente Python llegó a Excel.

La integración de Microsoft con tecnologías de código abierto comenzó cuando, ante el fracaso de Silverlight, un aspirante a competir con Adobe Flash, la empresa apoyó públicamente el estándar HTML5.

Del odio al amor

Desde ya que Microsoft no desarrolló su «amor» por las herramientas de software libre de manera espontánea.  Si una abuela estuviera escribiendo este artículo diría «La necesidad tiene cara de hereje».

Satya Nadella, el actual presidente de Microsoft era el líder de una de las pocas divisiones en las que Microsoft no se había transformado en un cuasi monopolio.  Linux era mucho mejor que WindowsNT en los servidores y empresas como IBM, Novell y Red Hat desarrollaron servicios corporativos basados en él con costos más competitivos.

Otro mercado en el que los productos de Microsoft fueron perdiendo terreno es el de los desarrolladores, los lenguajes privativos desarrollados por la firma no eran rivales para C++, Java o Python. entornos integrados de desarrollo como Eclipse o Netbeans ganaban usuarios a expensas de Visual Studio.

Con el pragmatismo característico del capitalismo, Microsoft lanzó su primer producto para Linux, una versión de Visual Studio. También hizo que Office fuera compatible con el formato ODF, dio soporte a diversas distribuciones en su plataforma de nube Azure y nos sorprendió a todos con Windows Subsystem for Linux, la posibilidad de ejecutar distribuciones en su propio sistema operativo.

Pero, todavía quedaba una sorpresa.

Python llegó a Excel

Durante décadas las planillas de cálculo fueron la herramienta preferida para combinar y analizar datos complejos. Sin embargo, a medida que la cantidad de los datos aumenta y se requieren manipulaciones más complejas, los científicos de datos se vuelcan cada vez más al uso de lenguajes de programación como R, Julia o el propio Python

Excel, como todas las aplicaciones de la suite Office cuenta con un lenguaje de programación asociado conocido como Visual Basic para Aplicaciones (VBA). VBA puede automatizar tareas repetitivas, pero no llega a tener la potencia de un lenguaje de programación completo.

Tratando de prologan la vida útil de su aplicación (Y de paso sacarle clientes a Documentos de Google) Microsoft está haciendo pruebas de una nueva característica que permite escribir código Python en una celda. La particularidad es que el intérprete Python no necesita estar instalado en Windows, se ejecuta en la nube de Microsoft y el resultado se muestra en la celda.

Por ahora, solo pueden usarlo quienes están inscriptos en el programa Insider.

Con Python también pueden usarse sus bibliotecas como Matplotlib y seaborn para la creación de representaciones de datos como gráficos de barras, diagramas de líneas convencionales, mapas de calor, diagramas de violín y diagramas de enjambre. scikit-learn y statsmodels le dan a Excel capacidades de aprendizaje automático, análisis predictivo y pronóstico, análisis de regresión y modelado de series temporales.

Desde Microsoft aseguran que

El código Python utilizado por Excel se ejecuta en Microsoft Cloud con seguridad de nivel empresarial como una experiencia conectada compatible con Microsoft 365. El código Python se ejecuta en su propio contenedor aislado de hipervisor utilizando Azure Container Instances y paquetes seguros creados en código fuente de Anaconda a través de una cadena de suministro de software segura. Python en Excel mantiene la privacidad de sus datos al evitar que el código Python sepa quién es usted y al abrir los libros de Internet de forma más aislada dentro de sus propios contenedores separados. Los datos de sus libros de trabajo solo se pueden enviar a través de la función Python incorporada xl(), y la salida del código Python solo se puede devolver como resultado de la función =PY() de Excel.

Para poder usar Python en Excel hay que unirse al programa Insider. La característica estará disponible a partir de la compilación 16.0.16818.20000 del canal beta

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

La «meritocasta» y el fracaso de Linux

La meritocasta perjudicó el desarrollo de Linux

Al cumplirse 32 años de la creación de Linus Torvalds y a punto de festejar las cuatro décadas del proyecto GNU, es buen momento para hacer un balance. El mío es que la consagración de la «meritocasta» y el fracaso de Linux son causa y consecuencias inevitables.

Por supuesto, para que los lectores confirmen o rebatan mi conclusión, primero tengo que explicar el neologismo y segundo describir cuál sería el fracaso de Linux.

De la meritocracia a la meritocasta

La historia del proyecto GNU tiene sus raíces en el ambiente de trabajo que encontró Richard Stallman cuando ingresó al laboratorio de Inteligencia Artificial del MIT y cómo ese ambiente se fue perdiendo a medida que el financiamiento corporativo se volvía más generoso. Les pido que tomen nota de este punto porque es un tema que va a volver a aparecer.

Cuenta Stallman que en ese lugar existía una cultura de puertas abiertas, cualquiera podía tomar lo que necesitaba y tenía acceso a la información que requería para hacer su trabajo. El que tomaba conciencia de un problema lo solucionaba y, el trabajo a realizar se decidía entre todos.

Con el tiempo, los compañeros de Stallman fueron tentados por la empresa privada y quienes lo reemplazaron no eran partidarios de una cultura abierta. Se tercerizó el desarrollo del software.

Lo que puso fin a la paciencia de Stallman fue que cuando se hizo necesario conectar el equipo a una red de computadoras externa y a la red interna del MIT, nadie del laboratorio fue capaz de modificar el software y el fabricante no tenía el menor interés en hacerlo. Finalmente, Stallman se hartó y decidió desarrollar un sistema operativo desde cero.

Las primeras comunidades nacidas a partir de la propuesta de Stallman adoptaron un modelo inspirado por el equipo que desarrolló los primeros protocolos de comunicación entre dispositivos.  Se llamaba Solicitud de comentarios y tenía como objetivo «lograr un consenso general y escribir código que funcionara.

La comunicación era mediante memorandos que se consideraban como algo temporal, no dogmático y definitivo y que la autoridad se derivaba del mérito y no de la jerarquía.

El problema es que la meritocracia funciona en grupos pequeños, Pero, cuando se tiene que coordinar a grupos grandes y a medida desperdigados en todo el mundo se presentan los problemas. Y ahí es cuando surge la meritocasta.

Una de las acepciones de la RAE para la palabra casta es

. En algunas sociedades, grupo que forma una clase especial y tiende a permanecer separado de los demás por su raza, religión, etc.

En sus orígenes, los grupos lograban un consenso porque tenían ideas parecidas, pero al incorporarse otros puntos de vista, los miembros originales se sienten amenazados y la evaluación de los méritos de una idea es en base a la escala de prejuicios de quienes toman las decisiones. Muchos buenos aportes a proyectos de software libre son rechazados simplemente porque no vinieron de la clase correcta o porque no constituyen algo que sirva para halagar la vanidad de sus altezas los programadores.

La «meritocasta» y el fracaso de Linux

Los invito a mirar cualquiera de las notas de lanzamiento de cualquier versión del núcleo Linux. Si son capaces de encontrar alguna característica que realmente le cambie la vida al usuario común son mucho más inteligentes que yo.

No solo no ocurrió el tan esperado año de Linux en el escritorio y perdimos definitivamente la batalla de los móviles. El futuro va hacia las aplicaciones en la nube cuyo código fuente jamás veremos y donde la seguridad de los datos depende de otras nubes (En las que moran nuestros ángeles de la guarda)

Eso es culpa de la mal entendida meritocracia que privilegió a los programadores despreciando a diseñadores gráficos, especialistas en marketing, escritores profesionales, pero sobre todo al usuario común. La oportunidad de un financiamiento independiente del software libre se perdió para siempre.

Gracias a eso, hoy el desarrollo de Linux está en manos de corporaciones que son las que determinan que proyectos continúan o no. Los principios del software libre son ilusorios si no hay financiamiento que respalde un proyecto.

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