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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit — Genera cinco formatos de payload de deserialización .NET para CVE-2026-56158, los entrega a través de endpoints HTTP/SOAP/JSON, e incluye servidor mock, escáner y salida de informes JSON. | Kitploit
Herramientas/GitHubGitHub/sam00/cve-2026-56158-.net-framework-rce-poc-exploit
Escáneres de VulnerabilidadesGeneración de PayloadsAnálisis Estático de Código (SAST)Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebDesarrollo de Payloads
GitHub
sam00/cve-2026-56158-.net-framework-rce-poc-exploit

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

Genera cinco formatos de payload de deserialización .NET para CVE-2026-56158, los entrega a través de endpoints HTTP/SOAP/JSON, e incluye servidor mock, escáner y salida de informes JSON.

Ver Repositorio
125hace 1 mesAú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

CVE-2026-56158 — Exploit PoC de ejecución remota de código (RCE) en .NET Framework

Crítico (CVSS 9.8) — Deserialización de datos no confiables (CWE-502) en Microsoft .NET Framework y .NET Runtime Parcheado: 14 de julio de 2026 | Atribuido a: Positive Technologies (PT-2026-60174)


Tabla de contenido

  • Descripción general
  • Detalles de la vulnerabilidad
  • Versiones afectadas
  • Vectores de ataque
  • Arquitectura del exploit
  • Estructura de archivos
  • Instalación
  • Uso paso a paso
  • Pruebas
  • Detección y endurecimiento
  • Mitigación
  • Referencias
  • Descargo de responsabilidad
  • Licencia

Descripción general

CVE-2026-56158 es una vulnerabilidad crítica de ejecución remota de código en Microsoft .NET Framework y en el runtime de .NET. La falla reside en la deserialización insegura de datos no confiables (CWE-502): cuando una aplicación .NET utiliza serializadores heredados (BinaryFormatter, NetDataContractSerializer, SoapFormatter, ObjectStateFormatter) o Json.NET con TypeNameHandling.All/Auto, un atacante remoto no autenticado puede entregar una carga útil serializada manipulada que desencadena la ejecución de código arbitrario al deserializarla.

La vulnerabilidad tiene una puntuación base CVSS 3.1 de 9.8 (Crítico) con el vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, lo que significa:

  • Vector de ataque: Red (sin necesidad de acceso físico)
  • Complejidad de ataque: Baja
  • Privilegios requeridos: Ninguno
  • Interacción del usuario: Ninguna
  • Impacto: Compromiso total de Confidencialidad, Integridad y Disponibilidad

Microsoft publicó actualizaciones de seguridad el 14 de julio de 2026 como parte del ciclo mensual de Patch Tuesday.


Detalles de la vulnerabilidad

CampoValor
ID de CVECVE-2026-56158
TítuloVulnerabilidad de ejecución remota de código en .NET Framework
CVSS 3.19.8 Crítico (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CVSS 2.07.5 Alto (AV:N/AC:L/Au:N/C:P/I:P/A:P)
CWECWE-502 (Deserialización de datos no confiables)
Publicación14 de julio de 2026
Parche14 de julio de 2026
DescubridorPositive Technologies (PT-2026-60174)
EPSSAún sin puntuación
CISA KEVNo incluida

Causa raíz

Los serializadores heredados del runtime de .NET reconstruyen tipos de objetos arbitrarios a partir de flujos serializados sin validar el tipo ni el contenido. Cuando un atacante controla la entrada serializada, puede dirigir al deserializador para que cree instancias de tipos inesperados cuyos constructores, callbacks o setters de propiedades ejecuten código arbitrario: un ataque clásico de cadena de gadgets de deserialización.

La vulnerabilidad afecta a múltiples mecanismos de serialización:

  1. BinaryFormatter — Flujo binario con metadatos de tipo; la cadena de gadgets TypeConfuseDelegate delega en Process.Start
  2. NetDataContractSerializer — Formato XML que incluye información de tipos de .NET; permite la instanciación directa de tipos
  3. SoapFormatter — Envoltura XML SOAP con referencias a tipos CLR; ProcessStartInfo incrustado en el cuerpo SOAP
  4. ObjectStateFormatter — Formato binario de ViewState de ASP.NET; Process.Start mediante el campo ViewState
  5. Json.NET (Newtonsoft.Json) — JSON con metadatos $type cuando TypeNameHandling.All/Auto está habilitado; el gadget ObjectDataProvider llama a Process.Start

Versiones afectadas

ProductoRango vulnerableVersión corregidaArtículo de 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.5Todos los anteriores al parcheParcheadoKB5100985
.NET Framework 4.6.2–4.7.2Todos los anteriores al parcheParcheadoKB5100991
.NET Framework 4.8Todos los anteriores al parcheParcheadoKB5101011
.NET Framework 4.8.1Todos los anteriores al parcheParcheadoKB5101002
Visual Studio 2022 (17.12)Anterior al parche17.12.x—
Visual Studio 2022 (17.14)Anterior al parche17.14.x—
Visual Studio 2026 (18.7)Anterior al parche18.7.x—

Paquetes de Alpine Linux:

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

Vectores de ataque

Este exploit PoC genera y entrega cargas útiles mediante 5 formatos diferentes de ataque por deserialización:

1. BinaryFormatter (TypeConfuseDelegate Gadget)

Serialized Stream → BinaryFormatter.Deserialize() → TypeConfuseDelegate
  → Process.Start("cmd.exe", "/c calc.exe") → RCE
  • Formato: Binario (flujo serializado de .NET)
  • Content-Type: application/octet-stream
  • Entrega: Cuerpo de HTTP POST, archivo
  • Gadget: ActivitySurrogateSelector+ObjectSurrogate → TypeConfuseDelegate → Process.Start

2. NetDataContractSerializer

XML with type info → NetDataContractSerializer.ReadObject()
  → ProcessStartInfo instantiation → Process.Start → RCE
  • Formato: XML con información de tipos de .NET incrustada
  • Content-Type: application/octet-stream o text/xml
  • Entrega: Cuerpo de HTTP POST, endpoint de WCF

3. SoapFormatter

SOAP envelope → SoapFormatter.Deserialize()
  → ProcessStartInfo in SOAP body → Process.Start → RCE
  • Formato: Envoltura XML SOAP con referencias a tipos CLR
  • Content-Type: text/xml
  • Entrega: Endpoint SOAP de WCF/ASMX

4. ObjectStateFormatter (ViewState)

ViewState binary → ObjectStateFormatter.Deserialize()
  → Process.Start via ViewState field → RCE
  • Formato: Binario (formato ViewState de ASP.NET)
  • Content-Type: application/octet-stream
  • Entrega: Campo __VIEWSTATE de HTTP POST

5. Json.NET (TypeNameHandling.All)

JSON with $type → JsonConvert.DeserializeObject<T>(json, TypeNameHandling.All)
  → ObjectDataProvider.MethodName = "Start" → Process.Start → RCE
  • Formato: JSON con metadatos $type
  • Content-Type: application/json
  • Entrega: Endpoint de API REST con TypeNameHandling.All o Auto

Arquitectura del exploit

Descargar herramienta