Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-92744 — Analisi di divulgazione per CVE-2026-92744, una RCE non autenticata nell'agente Windows di Delinea Privilege Manager tramite un validatore di certificati WCF vuoto, con analisi della causa principale e riproduzione. | Kitploit
Strumenti/GitHubGitHub/isukasanuj/cve-2026-92744
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingAutenticazionePaper e RicercaRed Teaming
GitHubisukasanuj/cve-2026-92744

CVE-2026-92744

Analisi di divulgazione per CVE-2026-92744, una RCE non autenticata nell'agente Windows di Delinea Privilege Manager tramite un validatore di certificati WCF vuoto, con analisi della causa principale e riproduzione.

23 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Delinea Privilege Manager Agent — Esecuzione di codice remota non autenticata

CVE-2026-92744 · write-up di divulgazione 株式会社CyberCrew (CyberCrew Inc.)

CampoValore
CVE IDCVE-2026-92744 (CNA: Delinea, Inc.)
TitoloVulnerabilità di esecuzione di codice remota non autenticata nell'agente Delinea Privilege Manager
ClasseCWE-306 Autenticazione mancante per funzione critica (primaria); CWE-295 Validazione non corretta dei certificati (meccanismo)
AffettoPrivilege Manager Windows Core agent 10.1.0 → 12.0.5796 e 13.0.0 → 13.0.1058
Corretto inAgent 12.0.5804 (v12) e 13.0.2064 (v13); distribuito con Privilege Manager 13.0.2, 28 ott 2026
CVSS pubblicato8.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
La nostra valutazione9.8 Critico (rete, dedotto) / 7.8 Alto (locale, dimostrato) — vedi §6
RicercatoriIsuka Sanuj (lead) · Ishan Nim (contributor) — entrambi 株式会社CyberCrew
Caso del fornitore#01416021 (correlato: 01418441)
Build testata13.0.1041.338 (PMAgents_13_0_1041.exe), SHA-256 9ED7660B9D994620B3ECADC524EB10122C42E3A932CCFD2988F16A5D76FF0457, Authenticode valido (CN=Delinea Inc.)
StatoSegnalato il 14 set 2026 · corretto, pubblicato e riconoscimento ai ricercatori applicato dal fornitore — chiuso

1. Sintesi esecutiva

L'agente Privilege Manager Windows espone un endpoint di callback duplex WCF sulla TCP 5593, associato a tutte le interfacce, con una regola firewall in ingresso che il programma di installazione apre per i profili Dominio, Privato e Pubblico. L'endpoint richiede nominalmente un certificato client, ma il validatore che dovrebbe verificarlo — AmsServerCertValidator.Validate() — ha un corpo vuoto, e il contratto dichiara ProtectionLevel.None, rimuovendo la firma a livello di messaggio. L'effetto netto è che ogni operazione sul contratto accetta un chiamante che presenta un certificato generato dal chiamante stesso pochi secondi prima.

Due di queste operazioni si concatenano in un compromesso completo:

  • OnRegistrationComplete scrive certificati forniti dall'attaccante in LocalMachine\Ams — l'archivio che l'agente usa per verificare le firme delle policy — e rimuove quelli legittimi.
  • OnClientTaskQueued induce l'agente a recuperare un comando dal server configurato e a eseguirlo in un runspace PowerShell come nt authority\system, con ExecutionPolicy.Bypass impostato esplicitamente.

La catena completa è stata riprodotta end-to-end su un'installazione pulita predefinita in Windows Sandbox (Windows 11 build 26200) il 12 set 2026, producendo una prova di esecuzione catturata come nt authority\system. Non sono state richieste credenziali, accesso locale preventivo né interazione dell'utente.

Poiché lo scopo stesso del prodotto è decidere quali processi possono essere eseguiti con privilegi elevati, non si tratta semplicemente di esecuzione di codice su un host — è il controllo della decisione di sicurezza stessa.

La scoperta è stata segnalata a Delinea il 14 set 2026, corretta nella release del 28 ott 2026 e associata a CVE-2026-92744 (pubblicata il 29 ott 2026). A seguito di una richiesta di riconoscimento, Delinea ha aggiunto al registro pubblico il riconoscimento concordato ai ricercatori. La divulgazione è ora chiusa. Vedi §8–§10.


2. Versioni affette e corrette

ProdottoAffettoCorretto
Privilege Manager Windows Core agent (v12)10.1.0 → 12.0.579612.0.5804
Privilege Manager Windows Core agent (v13)13.0.0 → 13.0.105813.0.2064

La correzione è stata distribuita con Privilege Manager 13.0.2 il 28 ott 2026. Per i clienti che non possono aggiornare immediatamente, la mitigazione documentata da Delinea consiste nel bloccare la TCP 5593 in ingresso (indicata come priva di perdita di funzionalità; gli agenti tornano a prelevare gli aggiornamenti dal server secondo una pianificazione).


3. Analisi tecnica

3.1 Endpoint esposto e superficie d'attacco

L'agente viene eseguito come System e ospita il listener di callback su tutte le interfacce, con la regola firewall creata dal programma di installazione che copre il profilo Pubblico:

--- 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 configurazione in esame era quella predefinita del programma di installazione, senza alcuna modifica: nulla era stato indebolito:

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

ValidateServerCertificate e ValidateCertChain sono entrambi assenti (impostazione predefinita installata). L'endpoint presenta un certificato autofirmato intestato all'host (CN=7D20AF86-E474-4).

3.2 Causa principale: il validatore di certificati vuoto

Una singola classe di validatore con un Validate() vuoto governa tre decisioni di fiducia:

internal class AmsServerCertValidator : X509CertificateValidator
{
    public override void Validate(X509Certificate2 certificate)
    {
    }
}
SitoPercorso regolato
_serviceHost.Credentials.ClientCertificate.Authentication.CustomCertificateValidatorchiamanti di callback in ingresso
AgentRegistration2Client.CreateClient(...)registrazione in uscita
ClientBaseFactory.CreateClient<ClientItems2Client, ...>recupero policy in uscita

L'host in ingresso collega quel validatore come modalità di validazione personalizzata, che sostituisce la validazione della catena predefinita di WCF con il metodo vuoto:

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 Il contratto di 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 rimuove la firma dei messaggi, lasciando il certificato client come unico controllo del chiamante — e quel controllo è il metodo vuoto sopra. Tutte e quattro le operazioni dichiarate sono state confermate raggiungibili da un chiamante con certificato autofirmato (OnRegistrationComplete, OnClientTaskQueued, OnApplicablePolicyChange, OnBadRegistration — tutti accepted=True).

3.4 Acquisizione del trust-store (OnRegistrationComplete)

Al completamento della registrazione l'agente acquisisce ogni certificato nella risposta del server e lo salva nello store Ams senza alcuna costruzione della catena, senza pinning e senza confronto con certificati precedentemente noti:

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