Todos los reportes
IDOR en VRoid Hub (pixiv): dar "me gusta" a un comentario oculto devolvía su texto y su autor
El endpoint de VRoid Hub para dar "me gusta" a comentarios aceptaba el ID de comentarios ocultos y devolvía en la respuesta su contenido y su autor, aunque el dueño de la publicación hubiese desactivado los comentarios.
3 min
Omise: la CDN de www.omise.co guardaba una copia distinta de cada página por cada parámetro GET inventado
La CDN de www.omise.co usaba la URL completa como clave de caché, sin descartar parámetros desconocidos. Con ?test=123, ?abc=456… cualquiera podía llenar la caché de copias idénticas de una misma página.
3 min
Un cupón de envío gratis filtrado en un reporte público se podía reutilizar sin límite en la tienda de merchandising de AWS
Un código de envío gratuito que había quedado sin tachar en un reporte divulgado seguía activo y la tienda de merchandising de AWS lo aceptaba en cualquier pedido, tantas veces como se quisiera.
3 min
Lovable: el parche de una redirección abierta tras el login se salta con «/..//» en el parámetro redirect
El arreglo de una redirección abierta en lovable.dev solo bloqueaba variantes con barra invertida. Con el valor /..//google.com en redirect, el servidor seguía enviando al usuario recién autenticado a cualquier dominio externo.
2 min
curl con Schannel conserva la identidad del certificado de cliente tras una redirección gracias a la reanudación de sesión TLS
En curl 8.23.0 con Schannel, la reanudación de sesión TLS mantenía la identidad mTLS del cliente al seguir una redirección a otro origen. El investigador lo presenta como un arreglo incompleto de CVE-2026-86415.
3 min
Monero: lectura fuera de límites en la pila del RPC is_key_image_spent por falta de un return
El manejador on_is_key_image_spent del nodo de Monero comprobaba el tamaño de cada key image pero no salía de la función si era incorrecto, y copiaba 32 bytes desde un búfer más pequeño. Lo encontró un fuzzing financiado por MAGIC Grants.
3 min
Node.js: la Fetch API aceptaba miles de capas de Content-Encoding y agotaba CPU y memoria del cliente
El fetch() de Node.js (undici) descomprimía tantas capas como listase la cabecera Content-Encoding. Un servidor malicioso podía encadenar miles de Brotli y bloquear al cliente durante minutos con solo 60 KB.
3 min
Un servidor Nextcloud malicioso podía robar las credenciales del cliente de escritorio vía directDownloadUrl
El cliente de escritorio de Nextcloud enviaba la cabecera Authorization (usuario y contraseña en Base64) a cualquier URL de descarga que indicara el servidor, sin comprobar el origen, permitiendo a un servidor malicioso capturar esas credenciales.
4 min
XSS almacenado en los avisos del panel de WordPress de la plataforma Atomic/Pressable de Automattic
El código de la plataforma Atomic/Pressable imprimía los avisos del escritorio de WordPress sin escapar, y uno de ellos incluía el nombre de una opción leída de la base de datos: un valor manipulado ejecutaba JavaScript en plugins.php.
4 min
Inyección de HTML en el correo de confirmación del formulario de prueba de Burp Suite DAST de PortSwigger
El campo "First Name" del formulario de prueba de Burp Suite DAST se insertaba sin escapar en el correo de confirmación, lo que permitía enviar HTML arbitrario a cualquier dirección desde los servidores de PortSwigger.
2 min
Fastify acumulaba en memoria las respuestas con Web Streams al ignorar la contrapresión
Desde la versión 5.7.0, Fastify escribía las respuestas servidas como Web Stream sin respetar la señal de contrapresión. Un cliente que pedía un endpoint de streaming y no leía la respuesta obligaba al servidor a acumular datos en memoria hasta quedarse sin ella.
5 min
Starknet Snap de MetaMask: cualquier web podía firmar mensajes sin confirmación del usuario con enableAuthorize=false
El Starknet Snap aceptaba de la propia web el parámetro enableAuthorize. Con el valor false se saltaba el diálogo de confirmación y la página obtenía firmas de mensajes o transacciones sin que el usuario las aprobara.
3 min