Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-92744 — Analyse de divulgation pour CVE-2026-92744, une RCE non authentifiée dans l'agent Windows de Delinea Privilege Manager via un validateur de certificat WCF vide, avec analyse de la cause racine et reproduction. | Kitploit
Outils/GitHubGitHub/isukasanuj/cve-2026-92744
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionAuthentificationArticles et RechercheRed Teaming
GitHubisukasanuj/cve-2026-92744

CVE-2026-92744

Analyse de divulgation pour CVE-2026-92744, une RCE non authentifiée dans l'agent Windows de Delinea Privilege Manager via un validateur de certificat WCF vide, avec analyse de la cause racine et reproduction.

2il y a 4 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Delinea Privilege Manager Agent — Exécution de code à distance non authentifiée

CVE-2026-92744 · note de divulgation 株式会社CyberCrew (CyberCrew Inc.)

ChampValeur
ID CVECVE-2026-92744 (CNA : Delinea, Inc.)
TitreVulnérabilité d'exécution de code à distance non authentifiée de l'agent Delinea Privilege Manager
ClasseCWE-306 Authentification manquante pour une fonction critique (principale) ; CWE-295 Validation de certificat incorrecte (mécanisme)
AffectéAgent Privilege Manager Windows Core 10.1.0 → 12.0.5796 et 13.0.0 → 13.0.1058
Corrigé dansAgent 12.0.5804 (v12) et 13.0.2064 (v13) ; livré avec Privilege Manager 13.0.2, 28 oct. 2026
CVSS publié8.7 Élevé (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
Notre évaluation9.8 Critique (réseau, déduit) / 7.8 Élevé (local, démontré) — voir §6
ChercheursIsuka Sanuj (responsable) · Ishan Nim (contributeur) — tous deux 株式会社CyberCrew
Dossier fournisseur#01416021 (associé : 01418441)
Build testé13.0.1041.338 (PMAgents_13_0_1041.exe), SHA-256 9ED7660B9D994620B3ECADC524EB10122C42E3A932CCFD2988F16A5D76FF0457, Authenticode valide (CN=Delinea Inc.)
StatutSignalé le 14 sept. 2026 · corrigé, publié et crédit chercheur appliqué par le fournisseur — clos

1. Synthèse

L'agent Privilege Manager Windows expose un point de terminaison de rappel duplex WCF sur TCP 5593, lié à toutes les interfaces, avec une règle de pare-feu entrante que l'installateur ouvre pour les profils Domaine, Privé et Public. Le point de terminaison exige nominalement un certificat client, mais le validateur censé le vérifier — AmsServerCertValidator.Validate() — a un corps vide, et le contrat déclare ProtectionLevel.None, supprimant la signature au niveau du message. L'effet net est que chaque opération du contrat accepte un appelant présentant un certificat qu'il a généré quelques secondes plus tôt.

Deux de ces opérations s'enchaînent pour aboutir à une compromission totale :

  • OnRegistrationComplete écrit des certificats fournis par l'attaquant dans LocalMachine\Ams — le magasin que l'agent utilise pour vérifier les signatures de stratégie — et supprime les certificats légitimes.
  • OnClientTaskQueued pousse l'agent à récupérer une commande depuis son serveur configuré et à l'exécuter dans un espace d'exécution PowerShell en tant que nt authority\system, avec ExecutionPolicy.Bypass explicitement défini.

La chaîne complète a été reproduite de bout en bout sur une installation par défaut propre dans Windows Sandbox (Windows 11 build 26200) le 12 sept. 2026, produisant une preuve d'exécution capturée en nt authority\system. Aucun identifiant, accès local préalable ni interaction utilisateur n'étaient requis.

Comme la raison d'être même du produit est de décider quels processus peuvent s'exécuter avec élévation, il ne s'agit pas simplement d'une exécution de code sur un hôte — c'est le contrôle de la décision de sécurité elle-même.

La découverte a été signalée à Delinea le 14 sept. 2026, corrigée dans la version du 28 oct. 2026 et associée à CVE-2026-92744 (publiée le 29 oct. 2026). À la suite d'une demande de crédit, Delinea a ajouté la reconnaissance du chercheur convenue à l'enregistrement public. La divulgation est désormais close. Voir §8–§10.


2. Versions affectées et corrigées

ProduitAffectéCorrigé
Agent Privilege Manager Windows Core (v12)10.1.0 → 12.0.579612.0.5804
Agent Privilege Manager Windows Core (v13)13.0.0 → 13.0.105813.0.2064

Le correctif a été livré avec Privilege Manager 13.0.2 le 28 oct. 2026. Pour les clients qui ne peuvent pas mettre à niveau immédiatement, l'atténuation documentée par Delinea consiste à bloquer le TCP 5593 entrant (présentée comme n'entraînant aucune perte de fonctionnalité ; les agents reviennent à la récupération des mises à jour depuis le serveur selon une planification).


3. Analyse technique

3.1 Point de terminaison exposé et surface d'attaque

L'agent s'exécute en tant que System et héberge l'écouteur de rappel sur toutes les interfaces, la règle de pare-feu créée par l'installateur couvrant le profil 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 configuration testée était celle par défaut de l'installateur, intacte — rien n'a été affaibli :

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

ValidateServerCertificate et ValidateCertChain sont tous deux absents (valeur par défaut installée). Le point de terminaison présente un certificat auto-signé nommé d'après l'hôte (CN=7D20AF86-E474-4).

3.2 Cause racine : le validateur de certificat vide

Une seule classe de validateur avec une méthode Validate() vide régit trois décisions de confiance :

internal class AmsServerCertValidator : X509CertificateValidator
{
    public override void Validate(X509Certificate2 certificate)
    {
    }
}
SiteChemin gouverné
_serviceHost.Credentials.ClientCertificate.Authentication.CustomCertificateValidatorappelants de rappel entrants
AgentRegistration2Client.CreateClient(...)enregistrement sortant
ClientBaseFactory.CreateClient<ClientItems2Client, ...>récupération de stratégie sortante

L'hôte entrant câble ce validateur en tant que mode de validation personnalisé, ce qui remplace la validation de chaîne par défaut de WCF par la méthode vide :

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 Le contrat de rappel

[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 supprime la signature des messages, laissant le certificat client comme seule vérification de l'appelant — et cette vérification est la méthode vide ci-dessus. Les quatre opérations déclarées ont été confirmées accessibles par un appelant auto-signé (OnRegistrationComplete, OnClientTaskQueued, OnApplicablePolicyChange, OnBadRegistration — tous accepted=True).

3.4 Prise de contrôle du magasin de confiance (OnRegistrationComplete)

À la fin de l'enregistrement, l'agent ingère chaque certificat de la réponse du serveur et l'enregistre dans le magasin Ams sans construction de chaîne, sans épinglage et sans comparaison avec des certificats connus précédemment :

foreach (string serverCertificate in platformDetails.ServerCertificates)
{
    byte[] raw = Convert.FromBase64String(serverCertificate);
    ICertificate2 certificate2 = _cert2Factory.Create(raw);
    list.Add(certificate2);
}
_certMgr.SaveServerCertificates(list);
Télécharger l’outil