Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Azure-APIM-Cross-Tenant-Signup-Bypass — Aviso de seguridad: Azure APIM Developer Portal permite el registro de cuentas entre inquilinos al eludir las restricciones de registro de la interfaz de usuario. Reportado a MSRC dos veces - cerrado como «por diseño». | Kitploit
Herramientas/GitHubGitHub/bountyyfi/azure-apim-cross-tenant-signup-bypass
ReconocimientoAnálisis de VulnerabilidadesExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad en la NubeMala ConfiguraciónSeguridad de APIs
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
bountyyfi/azure-apim-cross-tenant-signup-bypass

Azure-APIM-Cross-Tenant-Signup-Bypass

Aviso de seguridad: Azure APIM Developer Portal permite el registro de cuentas entre inquilinos al eludir las restricciones de registro de la interfaz de usuario. Reportado a MSRC dos veces - cerrado como «por diseño».

Ver Repositorio
1625hace 2 mesesAún no revisado
Compartir

Bypass de registro entre inquilinos de Azure APIM

Estado (01.12.2025): Esta vulnerabilidad sigue activa y explotable. Microsoft no ha corregido este problema y lo considera «por diseño».

Aviso de seguridad

GHSA-vcwf-73jp-r7mv

CVE-2025-66390

Resumen

Una vulnerabilidad de seguridad en el portal para desarrolladores de Azure API Management (APIM) permite a los atacantes registrar cuentas en cualquier instancia de APIM que tenga habilitada la autenticación básica, incluso cuando los administradores han deshabilitado el registro de usuarios en la interfaz del portal.

Este bypass permite la creación de cuentas entre inquilinos, lo que potencialmente permite el acceso no autorizado a la documentación de las API, las claves de suscripción y otros recursos expuestos a través del portal para desarrolladores.

Cronología de divulgación

FechaAcción
2025-09-30Vulnerabilidad descubierta
2025-09-30Informe inicial enviado a MSRC
2025-10-30Respuesta de MSRC: cerrado como «no es una vulnerabilidad»
2025-11-01Segundo informe enviado a MSRC con detalles adicionales
2025-11-20Respuesta de MSRC: cerrado como «por diseño»
2025-11-20Notificado a CERT-FI
2025-11-26Divulgación pública
2025-11-27CVE solicitado a MITRE
2026-07-09CVE-2025-66390 asignado por MITRE TL-Root/CNA-LR

Detalles de la vulnerabilidad

El problema

Cuando Azure APIM está configurado con autenticación básica para el portal para desarrolladores, los administradores pueden deshabilitar el registro de usuarios a través de la interfaz de Azure Portal. Sin embargo, esto solo oculta el formulario de registro en la interfaz del portal.

El endpoint subyacente de la API de registro permanece activo y acepta solicitudes de registro directamente, omitiendo por completo la restricción de la interfaz.

Causa raíz

Dos problemas se combinan para crear esta vulnerabilidad:

  1. Restricción solo a nivel de interfaz: deshabilitar el registro solo oculta el formulario en la interfaz del portal. La API de registro del backend permanece activa y accesible.
  2. Sin validación de inquilino: la API de registro no valida que la solicitud se origine desde el portal del mismo inquilino. Se pueden crear solicitudes desde cualquier origen para registrarse en cualquier instancia vulnerable.

Vector de ataque

El ataque requiere dos instancias de APIM:

  1. Instancia del atacante: cualquier portal para desarrolladores de APIM con el registro habilitado (o la propia instancia de APIM del atacante)
  2. Instancia objetivo: el portal para desarrolladores de APIM de la víctima con el registro «deshabilitado» en la interfaz, pero con la autenticación básica aún configurada

Pasos:

  1. El atacante accede a la página de registro de su propio portal para desarrolladores de APIM (donde el registro está habilitado)
  2. El atacante rellena el formulario de registro e intercepta la solicitud (p. ej., usando Burp Suite)
  3. El atacante cambia la cabecera Host de su instancia a la instancia objetivo
  4. El atacante envía la solicitud modificada
  5. La cuenta se crea en la instancia objetivo a pesar de que el registro está «deshabilitado» en la consola de administración
  6. El atacante obtiene acceso al portal para desarrolladores objetivo como usuario registrado

Detalle técnico clave: el bypass entre inquilinos funciona manipulando la cabecera Host en la solicitud POST de registro. El endpoint /signup procesa las solicitudes basándose en la cabecera Host sin validar los límites entre inquilinos.

Ejemplo de manipulación de solicitud:

POST /signup HTTP/1.1
Host: target-apim.developer.azure-api.net   <-- Changed from attacker's instance
Origin: https://attacker-apim.developer.azure-api.net
Content-Type: application/json

{"challenge":{...},"signupData":{"email":"[email protected]",...}}

El problema principal: deshabilitar el registro en la interfaz no deshabilita la API subyacente. El endpoint de la API acepta solicitudes entre inquilinos basándose en la cabecera Host.

Impacto

  • Creación de cuentas entre inquilinos: registrarse en cualquier instancia de APIM con autenticación básica habilitada
  • Bypass de los controles administrativos: las restricciones de registro son ineficaces
  • Acceso a la documentación de las API, que puede contener información interna sensible
  • Posibilidad de solicitar claves de suscripción de API según la configuración del portal
  • Exposición de portales internos: los atacantes externos pueden registrarse en portales «internos»

Configuraciones afectadas

Tu instancia de APIM es vulnerable si:

  • El proveedor de identidad de autenticación básica está configurado (incluso si el registro está «deshabilitado» en la interfaz)
  • El portal para desarrolladores está implementado y es accesible

Tu instancia de APIM NO es vulnerable si:

  • El proveedor de identidad de autenticación básica se ha eliminado por completo (no solo el registro deshabilitado)
  • Solo está configurada la autenticación de Azure AD / OAuth
  • El portal para desarrolladores no está implementado o está deshabilitado

Punto clave: deshabilitar el registro en la interfaz de Azure Portal NO es suficiente. El proveedor de identidad de autenticación básica debe eliminarse por completo para prevenir el bypass de registro entre inquilinos.

Propiedades de recursos de Azure

Usa estos valores de propiedad para identificar instancias de APIM vulnerables mediante Azure Resource Graph, plantillas ARM o Azure Policy.

Propiedades de configuración vulnerables

Ruta de la propiedadValor vulnerableDescripción
properties.developerPortalStatusEnabledEl portal para desarrolladores es accesible
sku.nameDeveloper, Basic, Standard, PremiumNiveles que no son de consumo (el nivel de consumo tiene funciones limitadas del portal)

Comprobación del proveedor de identidad (subrecurso)

El proveedor de identidad de autenticación básica es un recurso independiente dentro de la instancia de APIM:

Resource Type: Microsoft.ApiManagement/service/identityProviders
Name: basic

Vulnerable si existe: la presencia de un recurso de proveedor de identidad basic indica que la autenticación básica está configurada.

Configuración de registro del portal (subrecurso)

Resource Type: Microsoft.ApiManagement/service/portalsettings/signup
Property: properties.enabled
PropiedadValorSignificado
properties.enabledtrueRegistro visible en la interfaz
properties.enabledfalseRegistro oculto en la interfaz (¡la API sigue funcionando si existe autenticación básica!)

Consulta de Azure Resource Graph

Usa esta consulta para encontrar instancias de APIM potencialmente vulnerables:

resources
| where type == "microsoft.apimanagement/service"
| where properties.developerPortalStatus == "Enabled"
| where sku.name != "Consumption"
| project name, resourceGroup, subscriptionId, location, sku.name, properties.developerPortalStatus

Para comprobar los proveedores de identidad de autenticación básica:

resources
| where type == "microsoft.apimanagement/service/identityproviders"
| where name endswith "/basic"
| project apimInstance=tostring(split(id, "/providers/Microsoft.ApiManagement/service/")[1]), resourceGroup, subscriptionId

Comandos de Azure CLI

Descargar herramienta