Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
CVE-2026-92744 — Análisis de divulgación de CVE-2026-92744, una RCE no autenticada en el agente de Windows de Delinea Privilege Manager mediante un validador de certificados WCF vacío, con análisis de causa raíz y reproducción. | Kitploit
Herramientas/GitHubGitHub/isukasanuj/cve-2026-92744
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAutenticaciónPapers e InvestigaciónRed Teaming
GitHubisukasanuj/cve-2026-92744

CVE-2026-92744

Análisis de divulgación de CVE-2026-92744, una RCE no autenticada en el agente de Windows de Delinea Privilege Manager mediante un validador de certificados WCF vacío, con análisis de causa raíz y reproducción.

2hace 3 díasAún no revisado

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 →
Compartir
Ver Repositorio

Delinea Privilege Manager Agent — Ejecución remota de código no autenticada

CVE-2026-92744 · informe de divulgación 株式会社CyberCrew (CyberCrew Inc.)

CampoValor
ID de CVECVE-2026-92744 (CNA: Delinea, Inc.)
TítuloVulnerabilidad de ejecución remota de código no autenticada en el agente de Delinea Privilege Manager
ClaseCWE-306 Autenticación faltante para función crítica (principal); CWE-295 Validación de certificado incorrecta (mecanismo)
AfectadosAgente Privilege Manager Windows Core 10.1.0 → 12.0.5796 y 13.0.0 → 13.0.1058
Corregido enAgente 12.0.5804 (v12) y 13.0.2064 (v13); distribuido con Privilege Manager 13.0.2, 28 oct 2026
CVSS publicado8.7 Alto (CVSS 4.0) — CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Nuestra evaluación9.8 Crítico (red, inferido) / 7.8 Alto (local, demostrado) — véase §6
InvestigadoresIsuka Sanuj (líder) · Ishan Nim (colaborador) — ambos de 株式会社CyberCrew
Caso del proveedor#01416021 (relacionado: 01418441)
Compilación probada13.0.1041.338 (PMAgents_13_0_1041.exe), SHA-256 9ED7660B9D994620B3ECADC524EB10122C42E3A932CCFD2988F16A5D76FF0457, Authenticode válido (CN=Delinea Inc.)
EstadoReportado el 14 sep 2026 · corregido, publicado y crédito al investigador aplicado por el proveedor — cerrado

1. Resumen ejecutivo

El agente de Privilege Manager para Windows expone un endpoint de callback dúplex WCF en TCP 5593, enlazado a todas las interfaces, con una regla de firewall de entrada que el instalador abre para los perfiles Domain, Private y Public. El endpoint requiere nominalmente un certificado de cliente, pero el validador que se supone debe comprobarlo — AmsServerCertValidator.Validate() — tiene un cuerpo vacío, y el contrato declara ProtectionLevel.None, eliminando la firma de la capa de mensaje. El efecto neto es que toda operación del contrato acepta a un llamador que presente un certificado generado por él mismo segundos antes.

Dos de esas operaciones se encadenan hasta el compromiso total:

  • OnRegistrationComplete escribe certificados proporcionados por el atacante en LocalMachine\Ams — el almacén que el agente usa para verificar las firmas de políticas — y elimina los legítimos.
  • OnClientTaskQueued impulsa al agente a obtener un comando de su servidor configurado y ejecutarlo en un espacio de ejecución de PowerShell como nt authority\system, con ExecutionPolicy.Bypass establecido explícitamente.

La cadena completa se reprodujo de extremo a extremo en una instalación limpia por defecto en Windows Sandbox (Windows 11 compilación 26200) el 12 sep 2026, produciendo una prueba de ejecución capturada como nt authority\system. No se requirieron credenciales, acceso local previo ni interacción del usuario.

Dado que el propósito entero del producto es decidir qué procesos pueden ejecutarse con privilegios elevados, esto no es meramente ejecución de código en un host — es el control de la propia decisión de seguridad.

El hallazgo se reportó a Delinea el 14 sep 2026, se corrigió en la versión del 28 oct 2026 y se le asignó CVE-2026-92744 (publicado el 29 oct 2026). Tras una solicitud de crédito, Delinea añadió al registro público el reconocimiento acordado a los investigadores. La divulgación está ahora cerrada. Véanse §8–§10.


2. Versiones afectadas y corregidas

ProductoAfectadasCorregidas
Agente Privilege Manager Windows Core (v12)10.1.0 → 12.0.579612.0.5804
Agente Privilege Manager Windows Core (v13)13.0.0 → 13.0.105813.0.2064

La corrección se distribuyó con Privilege Manager 13.0.2 el 28 oct 2026. Para los clientes que no puedan actualizar de inmediato, la mitigación documentada por Delinea es bloquear el TCP 5593 entrante (se indica que no causa pérdida de funcionalidad; los agentes recurren a obtener actualizaciones del servidor según una programación).


3. Análisis técnico

3.1 Endpoint expuesto y superficie de ataque

El agente se ejecuta como System y aloja el listener de callback en todas las interfaces, con la regla de firewall creada por el instalador que cubre el perfil Public:

--- listeners ---
  :::5593  pid=4  proc=System        <- all interfaces (http.sys)

--- firewall ---
  [Domain, Private, Public] Arellia Agent (SSTP-In) | dir=Inbound action=Allow port=5593 prog=System

La configuración bajo prueba era la predeterminada del instalador original — no se debilitó nada:

HKLM\SOFTWARE\Policies\Arellia\AMS
    BaseUrl          = https://localhost/TMS/
    InstallCode      = testinstallcode
    BaseUrlOverride  = https://localhost/TMS/

ValidateServerCertificate y ValidateCertChain están ambos ausentes (valor predeterminado instalado). El endpoint presenta un certificado autofirmado con el nombre del host (CN=7D20AF86-E474-4).

3.2 Causa raíz: el validador de certificados vacío

Una única clase de validador con un Validate() vacío rige tres decisiones de confianza:

internal class AmsServerCertValidator : X509CertificateValidator
{
    public override void Validate(X509Certificate2 certificate)
    {
    }
}
SitioRuta gobernada
_serviceHost.Credentials.ClientCertificate.Authentication.CustomCertificateValidatorllamadores de callback entrantes
AgentRegistration2Client.CreateClient(...)registro saliente
ClientBaseFactory.CreateClient<ClientItems2Client, ...>obtención de políticas saliente

El host entrante conecta ese validador como un modo de validación personalizado, lo que reemplaza la validación de cadena predeterminada de WCF con el método vacío:

wSHttpBinding.Security.Message.ClientCredentialType   = MessageCredentialType.Certificate;
wSHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
wSHttpBinding.Security.Message.EstablishSecurityContext = false;
...
_serviceHost.Credentials.ClientCertificate.Authentication.CertificateValidationMode
    = X509CertificateValidationMode.Custom;
_serviceHost.Credentials.ClientCertificate.Authentication.CustomCertificateValidator
    = new AmsServerCertValidator();

3.3 El contrato de callback

[ServiceContract(Namespace = "http://schemas.arellia.com/agent/services/",
                 Name = "IAgentRegistration",
                 SessionMode = SessionMode.NotAllowed,
                 ProtectionLevel = ProtectionLevel.None)]
public interface IAgentRegistrationCallback
{
    void OnRegistrationComplete(PlatformRegistration platformDetails);
    void OnApplicablePolicyChange(ClientItemDigest[] applicablePolicyDigests);
    void OnClientTaskQueued(PendingTaskExecutionInstance[] pendingTasks);
    void OnBadRegistration(Guid suggestedNewId);
}

ProtectionLevel.None elimina la firma de mensajes, dejando el certificado de cliente como la única verificación del llamante — y esa verificación es el método vacío anterior. Se confirmó que las cuatro operaciones declaradas eran accesibles por un llamante autofirmado (OnRegistrationComplete, OnClientTaskQueued, OnApplicablePolicyChange, OnBadRegistration — todas accepted=True).

3.4 Toma de control del almacén de confianza (OnRegistrationComplete)

Al completarse el registro, el agente ingiere cada certificado en la respuesta del servidor y lo guarda en el almacén Ams sin construcción de cadena, sin pinning y sin comparación con certificados previamente conocidos:

foreach (string serverCertificate in platformDetails.ServerCertificates)
{
    byte[] raw = Convert.FromBase64String(serverCertificate);
    ICertificate2 certificate2 = _cert2Factory.Create(raw);
    list.Add(certificate2);
}
_certMgr.SaveServerCertificates(list);
Descargar herramienta