APIs
Fallos propios de las APIs: endpoints que devuelven más datos de los que la aplicación muestra, asignación masiva de campos que no deberían poder tocarse, versiones antiguas olvidadas o límites de uso que no existen. Muchos se descubren leyendo con calma las peticiones que hace la propia aplicación.
Guía: APIs, qué es y cómo se busca →WordPress: la API gpre/v1 de events.wordpress.org mostraba los asistentes de eventos protegidos con contraseña
Un envoltorio REST propio (gpre/v1) de la plataforma de eventos de WordPress devolvía, sin sesión ni contraseña, la lista de asistentes de eventos recurrentes protegidos que la API oficial de GatherPress sí bloqueaba.
4 min
Amazon Quick (QuickSight): los agentes de chat con IA seguían accesibles aunque el administrador los hubiera bloqueado
Los permisos personalizados de Amazon Quick solo ocultaban los agentes de chat en la interfaz. El backend no los comprobaba, así que cualquier usuario podía seguir chateando con el agente SYSTEM llamando directamente a la API.
5 min
bbPress 2.7.0: la API REST de WordPress dejaba leer sin login los temas y respuestas de foros privados y ocultos
En la rama de desarrollo 2.7.0 de bbPress, el endpoint REST de WordPress para un único tema o respuesta no aplicaba la visibilidad del foro: cualquiera, sin sesión, podía leer el contenido de foros privados y ocultos recorriendo IDs.
5 min
Monero: relay_tx en monero-wallet-rpc se salta --restricted-rpc y corrompe el estado de la cartera
El método relay_tx de monero-wallet-rpc no comprobaba el modo restringido y aceptaba un pending_tx del llamante sin verificarlo, lo que permitía congelar salidas de la cartera víctima y plantar claves de transacción ajenas.
6 min
Monero: describe_transfer de wallet-rpc muestra un señuelo del anillo como entrada real antes de firmar en frío
El método describe_transfer de monero-wallet-rpc tomaba la entrada del anillo con el índice equivocado, así que la revisión previa a la firma en frío podía enseñar un señuelo en lugar de la salida que de verdad se gastaba.
7 min
Un autor de WordPress podía borrar cualquier fichero del servidor abusando del endpoint /finalize
Un fallo de path traversal en el endpoint de medios de Gutenberg/WordPress permitía a un usuario con rol Autor borrar archivos arbitrarios del disco, incluido wp-config.php, y quedarse con el control del sitio.
6 min
Essity: API sin autenticación de un chatbot interno de Teams permitía leer, escribir y borrar chats de empleados
Las rutas de datos de un chatbot corporativo con Azure OpenAI no pedían credenciales. Con un truco de doble Content-Type para saltar el WAF, se podía además escribir en conversaciones privadas ajenas.
6 min
Nextcloud Mail: el autocompletado de contactos se salta las restricciones de enumeración de usuarios
El autocompletado de contactos de Nextcloud Mail ignoraba la opción que limita la búsqueda de cuentas al propio grupo, y cualquier usuario autenticado podía listar ID, nombre y email de usuarios de otros grupos.
2 min
Nextcloud Collectives: un enlace público permitía crear páginas aunque la edición estuviera limitada a administradores
La API de creación de páginas de Nextcloud Collectives no aplicaba la restricción «Allow editing for = Admins only», así que quien entraba por un enlace público de edición podía crear páginas llamando al endpoint directamente.
2 min