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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit — Génère cinq formats de payload de désérialisation .NET pour CVE-2026-56158, les distribue via des endpoints HTTP/SOAP/JSON, inclut un serveur simulé, un scanner et une sortie de rapport JSON. | Kitploit
Outils/GitHubGitHub/sam00/cve-2026-56158-.net-framework-rce-poc-exploit
Scanners de VulnérabilitésGénération de PayloadsAnalyse Statique de Code (SAST)Analyse des VulnérabilitésExploitationExploitation d'Applications WebDéveloppement de Charges Utiles
GitHub
sam00/cve-2026-56158-.net-framework-rce-poc-exploit

CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit

Génère cinq formats de payload de désérialisation .NET pour CVE-2026-56158, les distribue via des endpoints HTTP/SOAP/JSON, inclut un serveur simulé, un scanner et une sortie de rapport JSON.

Voir le dépôt
124il y a 1 moisPas 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

CVE-2026-56158 — Exploit PoC d'exécution de code à distance (RCE) dans .NET Framework

Critique (CVSS 9.8) — Désérialisation de données non fiables (CWE-502) dans Microsoft .NET Framework et .NET Runtime Corrigé : 14 juillet 2026 | Attribué à : Positive Technologies (PT-2026-60174)


Table des matières

  • Présentation
  • Détails de la vulnérabilité
  • Versions concernées
  • Vecteurs d'attaque
  • Architecture de l'exploit
  • Structure des fichiers
  • Installation
  • Utilisation pas à pas
  • Tests
  • Détection et durcissement
  • Mesures d'atténuation
  • Références
  • Clause de non-responsabilité
  • Licence

Présentation

CVE-2026-56158 est une vulnérabilité critique d'exécution de code à distance dans Microsoft .NET Framework et le runtime .NET. La faille réside dans la désérialisation non sécurisée de données non fiables (CWE-502) — lorsqu'une application .NET utilise des sérialiseurs hérités (BinaryFormatter, NetDataContractSerializer, SoapFormatter, ObjectStateFormatter) ou Json.NET avec TypeNameHandling.All/Auto, un attaquant distant non authentifié peut fournir une charge utile sérialisée spécialement conçue qui déclenche l'exécution de code arbitraire lors de la désérialisation.

La vulnérabilité présente un score de base CVSS 3.1 de 9.8 (Critique) avec le vecteur AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, ce qui signifie :

  • Vecteur d'attaque : Réseau (aucun accès physique requis)
  • Complexité d'attaque : Faible
  • Privilèges requis : Aucun
  • Interaction utilisateur : Aucune
  • Impact : Compromission totale de la confidentialité, de l'intégrité et de la disponibilité

Microsoft a publié des mises à jour de sécurité le 14 juillet 2026 dans le cadre du cycle mensuel Patch Tuesday.


Détails de la vulnérabilité

ChampValeur
Identifiant CVECVE-2026-56158
TitreVulnérabilité d'exécution de code à distance dans .NET Framework
CVSS 3.19.8 Critique (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CVSS 2.07.5 Élevé (AV:N/AC:L/Au:N/C:P/I:P/A:P)
CWECWE-502 (Désérialisation de données non fiables)
Publiée14 juillet 2026
Corrigée14 juillet 2026
DécouvreurPositive Technologies (PT-2026-60174)
EPSSPas encore évalué
CISA KEVNon répertorié

Cause racine

Les sérialiseurs hérités du runtime .NET reconstruisent des types d'objets arbitraires à partir de flux sérialisés sans valider le type ni le contenu. Lorsqu'un attaquant contrôle l'entrée sérialisée, il peut amener le désérialiseur à instancier des types inattendus dont les constructeurs, les rappels ou les setters de propriétés exécutent du code arbitraire — une attaque classique par chaîne de gadgets de désérialisation.

La vulnérabilité affecte plusieurs mécanismes de sérialisation :

  1. BinaryFormatter — Flux binaire avec métadonnées de type ; la chaîne de gadgets TypeConfuseDelegate délègue à Process.Start
  2. NetDataContractSerializer — Format XML incluant les informations de type .NET ; permet l'instanciation directe de types
  3. SoapFormatter — Enveloppe SOAP XML avec références de types CLR ; ProcessStartInfo intégré dans le corps SOAP
  4. ObjectStateFormatter — Format binaire ViewState ASP.NET ; Process.Start via le champ ViewState
  5. Json.NET (Newtonsoft.Json) — JSON avec métadonnées $type lorsque TypeNameHandling.All/Auto est activé ; le gadget ObjectDataProvider appelle Process.Start

Versions concernées

ProduitPlage vulnérableVersion corrigéeArticle KB
.NET 8.08.0.0 – 8.0.288.0.29KB5100998
.NET 9.09.0.0 – 9.0.179.0.18KB5100998
.NET 10.010.0.0 – 10.0.910.0.10KB5101001
.NET Framework 3.5Toutes les versions antérieures au correctifCorrigéeKB5100985
.NET Framework 4.6.2–4.7.2Toutes les versions antérieures au correctifCorrigéeKB5100991
.NET Framework 4.8Toutes les versions antérieures au correctifCorrigéeKB5101011
.NET Framework 4.8.1Toutes les versions antérieures au correctifCorrigéeKB5101002
Visual Studio 2022 (17.12)Avant correctif17.12.x—
Visual Studio 2022 (17.14)Avant correctif17.14.x—
Visual Studio 2026 (18.7)Avant correctif18.7.x—

Paquets Alpine Linux :

  • dotnet8-runtime < 8.0.29-r0
  • dotnet9-runtime < 9.0.18-r0
  • dotnet10-runtime < 10.0.10-r0

Vecteurs d'attaque

Cet exploit PoC génère et délivre des charges utiles via 5 formats d'attaque par désérialisation différents :

1. BinaryFormatter (Gadget TypeConfuseDelegate)

Serialized Stream → BinaryFormatter.Deserialize() → TypeConfuseDelegate
  → Process.Start("cmd.exe", "/c calc.exe") → RCE
  • Format : Binaire (flux sérialisé .NET)
  • Content-Type : application/octet-stream
  • Livraison : corps de requête HTTP POST, fichier
  • Gadget : ActivitySurrogateSelector+ObjectSurrogate → TypeConfuseDelegate → Process.Start

2. NetDataContractSerializer

XML with type info → NetDataContractSerializer.ReadObject()
  → ProcessStartInfo instantiation → Process.Start → RCE
  • Format : XML avec informations de type .NET intégrées
  • Content-Type : application/octet-stream ou text/xml
  • Livraison : corps de requête HTTP POST, point de terminaison WCF

3. SoapFormatter

SOAP envelope → SoapFormatter.Deserialize()
  → ProcessStartInfo in SOAP body → Process.Start → RCE
  • Format : enveloppe SOAP XML avec références de types CLR
  • Content-Type : text/xml
  • Livraison : point de terminaison SOAP WCF/ASMX

4. ObjectStateFormatter (ViewState)

ViewState binary → ObjectStateFormatter.Deserialize()
  → Process.Start via ViewState field → RCE
  • Format : binaire (format ViewState ASP.NET)
  • Content-Type : application/octet-stream
  • Livraison : champ __VIEWSTATE en HTTP POST

5. Json.NET (TypeNameHandling.All)

JSON with $type → JsonConvert.DeserializeObject<T>(json, TypeNameHandling.All)
  → ObjectDataProvider.MethodName = "Start" → Process.Start → RCE
  • Format : JSON avec métadonnées $type
  • Content-Type : application/json
  • Livraison : point de terminaison d'API REST avec TypeNameHandling.All ou Auto

Architecture de l'exploit

Télécharger l’outil