Resultados para “ruby”
14 resultado(s)
Campfire (Basecamp): una clave de bot sin token permitía escribir mensajes en nombre de cualquier usuario
En Campfire, de Basecamp, una clave de bot con la parte del token vacía (por ejemplo `2-`) se aceptaba como válida y permitía, sin iniciar sesión, publicar mensajes en las salas haciéndose pasar por cualquier usuario.
3 min
Confusión de decodificador en Discourse: lectura de ficheros de /tmp al convertir HEIF
La conversión de imágenes HEIF/HEIC en Discourse invocaba a ImageMagick sin fijar el decodificador, de modo que un .heic con cabecera PostScript llegaba a Ghostscript y permitía leer ficheros temporales de otros usuarios.
5 min
ReDoS en RubyGems.org: expresiones regulares del usuario en las políticas OIDC podían bloquear los workers de Puma
Las políticas de acceso OIDC de RubyGems.org ejecutaban expresiones regulares escritas por el usuario contra los claims del JWT sin límite de tiempo. Un patrón con backtracking catastrófico podía dejar ocupados los pocos workers del servidor.
3 min
RubyGems.org: un admin de organización podía crear un propietario usando el traspaso de gemas y echar a los dueños
El flujo de traspaso de gemas a una organización de RubyGems.org solo exigía rol de admin y no aplicaba la política de membresías, así que un admin podía nombrar propietario a una cuenta suya y expulsar a los dueños legítimos.
5 min
ssrf_filter dejaba pasar el prefijo NAT64 de uso local 64:ff9b:1::/48 y permitía saltarse la protección SSRF
La gema Ruby ssrf_filter 1.3.0 bloqueaba el prefijo NAT64 conocido 64:ff9b::/96, pero no el de uso local 64:ff9b:1::/48, así que direcciones internas codificadas en ese rango se trataban como públicas.
4 min
Fizzy (Basecamp): importar una cuenta permitía mostrar contenido de otra mediante referencias de ActionText
La importación de cuentas de Fizzy convertía identificadores GID del ZIP subido en referencias firmadas SGID sin comprobar que el registro perteneciera a la cuenta que importaba, lo que permitía mostrar datos de otro cliente.
4 min
Rails: allowed_uri? daba por buenas URLs javascript: partidas con caracteres de control codificados como entidades
El ayudante Rails::HTML::Sanitizer.allowed_uri? devolvía true para valores como java script:alert(1). El navegador los convierte en javascript: y los ejecuta al pulsar el enlace.
4 min
ssrf_filter reenviaba la cabecera Authorization al seguir redirecciones hacia otro host, filtrando credenciales
La gema Ruby ssrf_filter reconstruía cada petición redirigida con las opciones originales, incluida la cabecera Authorization, aunque la redirección llevase a otro host. Un servidor atacante podía quedarse con el token y reutilizarlo.
3 min
Path traversal en ActiveStorage de Rails: una clave de blob manipulada permite escribir, leer y borrar ficheros
El DiskService de ActiveStorage construía rutas con la clave del blob sin validarla. Si una aplicación dejaba llegar datos del usuario al parámetro key: de attach(), se podía escribir, leer o borrar ficheros fuera del directorio de almacenamiento.
7 min
XSS de un clic en Fizzy (Basecamp): paginación de Turbo y blobs HTML sin adjuntar para robar un token de escritura
Un atacante con cuenta propia conseguía ejecutar JavaScript en el origen de Fizzy cuando una víctima de otra cuenta abría una URL de tablero público, y con ello crear y exfiltrar un token de escritura de la víctima.
8 min
ReDoS en Action Text de Rails: un blockquote manipulado bloquea to_plain_text con Ruby 3.1 o anterior
Una expresión regular de Action Text que convierte citas a texto plano sufría retroceso excesivo: con Ruby 3.1 o anterior, un blockquote lleno de tabuladores tardaba unos 39 segundos en procesarse.
4 min
Rails ActionText: una etiqueta <action-text-markdown> esquiva la validación de esquemas URI en to_markdown
En ActionText, un texto enriquecido con una etiqueta <action-text-markdown> escrita por el usuario salía tal cual en la exportación a Markdown, lo que permitía colar enlaces javascript: o data: que la validación de URI debía bloquear.
3 min