Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-42978-PoC-Research — CVE-2026-42978 — Windows Push Notifications (WpnService) में Use-After-Free race condition. पैच डिफ, मूल कारण विश्लेषण, TOCTOU लैब, Sysmon/ETW डिटेक्शन नियम। | Kitploit
उपकरण/GitHubGitHub/grizzzer/cve-2026-42978-poc-research
भेद्यता विश्लेषणशोषणफोरेंसिकबाइनरी विश्लेषणलर्निंग और शिक्षाघटना प्रतिक्रियालैब और अभ्यास
GitHubgrizzzer/cve-2026-42978-poc-research

CVE-2026-42978-PoC-Research

CVE-2026-42978 — Windows Push Notifications (WpnService) में Use-After-Free race condition. पैच डिफ, मूल कारण विश्लेषण, TOCTOU लैब, Sysmon/ETW डिटेक्शन नियम।

रिपॉजिटरी देखें
28722 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-42978 PoC & अनुसंधान — Windows पुश सूचनाएँ Use-After-Free

रेस कंडीशन Windows पुश नोटिफिकेशन सेवा (WpnService) में जो NT AUTHORITY\SYSTEM के रूप में चलती है। स्थानीय पहुँच वाला हमलावर प्लेटफ़ॉर्म शटडाउन के दौरान use-after-free ट्रिगर कर सकता है और संभावित रूप से विशेषाधिकार बढ़ा सकता है।

  • CVE: CVE-2026-42978
  • BDU: BDU:2026-08249
  • प्रकार: CWE-362 (रेस कंडीशन), Use-After-Free
  • CVSS: 7.8 (उच्च)
  • प्रभावित: Windows 10, Windows 11, Windows Server 2016/2019/2022/2025
  • पैच किया गया: 10 जून, 2026 (पैच मंगलवार)
  • स्थिति: ठीक किया गया। यह रिपॉजिटरी केवल रक्षात्मक अनुसंधान के लिए है।

यह कैसे काम करता है

WpnService Windows पुश नोटिफिकेशन सेवा है। यह svchost.exe -k netsvcs -p के अंदर LocalSystem के रूप में सेशन 0 में चलती है। सभी सूचना वितरण — टोस्ट, टाइल्स, बैज — इसके माध्यम से जाते हैं।

कमजोरी wpncore.dll में है, विशेष रूप से PresentationEndpointFacade वर्ग में। यह वर्ग सभी सूचना API कॉल (टोस्ट वितरण, सेशन प्रबंधन, सेटिंग्स क्वेरी, आदि) को लपेटता है और PresentationEndpointImpl को कार्य सौंपता है।

बग: प्लेटफ़ॉर्म शटडाउन के दौरान, NotificationPlatform ऑब्जेक्ट नष्ट हो जाता है। लेकिन Facade विधियाँ जाँच नहीं करतीं कि शटडाउन चल रहा है या नहीं — वे प्लेटफ़ॉर्म के लिए एक पॉइंटर पकड़ लेती हैं, प्लेटफ़ॉर्म को शटडाउन थ्रेड द्वारा मुक्त कर दिया जाता है, और Facade एक डैंगलिंग पॉइंटर का उपयोग करता है। क्लासिक use-after-free रेस।

कमजोर कोड (wpncore.dll बिल्ड 26100.8521 से डीकंपाइल)

root@kitploit:~
// PresentationEndpointFacade::ToastUnblockAll — कमजोर
long ToastUnblockAll(PresentationEndpointFacade *this) {
    // कोई लॉक नहीं। कोई शटडाउन जाँच नहीं। बस प्लेटफ़ॉर्म पॉइंटर पकड़ो और चलो।
    NotificationPlatformHandle::Get(this + 0x50);
    if (platform == NULL) Throw_Hr(...);
    // यदि शटडाउन यहीं पर प्लेटफ़ॉर्म को मुक्त कर दे — use-after-free
    return PresentationEndpointImpl::UnblockToastsForEachApp(...);
}

Ghidra डिसअसेंबली कमजोर ToastUnblockAll की
Ghidra: कमजोर ToastUnblockAll — प्लेटफ़ॉर्म तक पहुँचने से पहले कोई सिंक्रनाइज़ेशन नहीं

पैच किया गया कोड (wpncore.dll बिल्ड 26100.8655)

root@kitploit:~
// PresentationEndpointFacade::ToastUnblockAll — पैच किया गया
long ToastUnblockAll(PresentationEndpointFacade *this) {
    if (Feature_4097557817::IsEnabled()) {
        AcquireSRWLockShared(&Wns::s_platformLock);    // 1. साझा लॉक
        if (Wns::s_platformShutdown)                    // 2. शटडाउन गार्ड
            Throw_Hr(E_APPLICATION_EXITING);
        NotificationPlatformHandle::Get(this + 0x50);
        // ... कार्य करें ...
        ReleaseSRWLockShared(&Wns::s_platformLock);     // 3. RAII रिलीज़
    } else {
        // फीचर फ्लैग बंद — रोलबैक के लिए पुराना व्यवहार संरक्षित
    }
}

फिक्स में तीन चीजें जोड़ी गई हैं:

  1. AcquireSRWLockShared — साझा रीडर्स-राइटर्स लॉक। कई API कॉल एक साथ चल सकते हैं, लेकिन शटडाउन एक एक्सक्लूसिव लॉक लेता है और उन सभी को ब्लॉक करता है।
  2. s_platformShutdown जाँच — यदि शटडाउन पहले ही शुरू हो चुका है, तो E_APPLICATION_EXITING के साथ तुरंत बाहर निकलें।
  3. RAII लॉक रिलीज़ — लॉक को wil::unique_storage रैपर में रखा जाता है, इसलिए यह अपवाद फेंके जाने पर भी जारी हो जाता है।

फीचर फ्लैग Feature_4097557817 WIL (Windows Internal Library) के माध्यम से चरणबद्ध रोलआउट के लिए है। यह माइक्रोसॉफ्ट को फिक्स को धीरे-धीरे सक्षम करने और यदि कुछ टूटता है तो इसे अक्षम करने देता है।

फिक्स का पैमाना

यह एक-फंक्शन बग नहीं है। wpncore.dll में 49 फंक्शन में समान लॉक+गार्ड पैटर्न जोड़ा गया था:

श्रेणीफंक्शन
टोस्ट संचालनToastUnblockAll, ToastCreateSession, ToastCloseSession, ToastRequestAllNotifications, ToastSuppress
टाइल संचालनTileCreateSession, TileCloseSession, TileRequestResourceForeground
पंजीकरणRegisterApplication, UnregisterApplication, RegisterHandler, UpdateRegistration, RegisterSystemApplication
सेटिंग्सChangeAppSetting, QueryAppSetting, QueryGlobalSetting, RegisterSettingCallback, UnregisterSettingCallback
वितरणDeliver, GetPayloadForNotificationId, Submit, PostScheduledNotification
क्वेरीGetRegisteredHandler, GetRegisteredHandlersFromParent, GetSettingsFromHandler, GetAssetsFromHandler

प्रत्येक PresentationEndpointFacade::* विधि जो प्लेटफ़ॉर्म को छूती है, उसे वही फिक्स मिला। अंतर्निहित PresentationEndpointImpl::* विधियाँ अपरिवर्तित हैं — समस्या केवल फ़ेसेड परत पर थी।

प्रभाव

WpnService SYSTEM के रूप में चलता है। यदि रेस जीत ली जाती है:

  1. मुक्त किए गए NotificationPlatform ऑब्जेक्ट की मेमोरी को पुनः प्राप्त किया जा सकता है और हमलावर-नियंत्रित डेटा (हीप स्प्रे) से भरा जा सकता है
  2. डैंगलिंग पॉइंटर पर बाद में एक वर्चुअल मेथड कॉल हमलावर-नियंत्रित पते पर कूद जाती है
  3. NT AUTHORITY\SYSTEM के रूप में कोड निष्पादन

वास्तविक शोषण — हीप स्प्रे, vtable हाइजैकिंग, कोड निष्पादन प्राप्त करना — इस शोध के दायरे से बाहर है। यह रिपॉजिटरी मूल कारण को समझने और पता लगाने के निर्माण पर केंद्रित है।

TOCTOU रेस कंडीशन प्रयोगशाला

lab/ निर्देशिका में एक स्वतंत्र C डेमो है जो WpnService को छुए बिना बग की श्रेणी को पुन: उत्पन्न करता है। यह WpnService के समान नामित पाइप + साझा मेमोरी आर्किटेक्चर का उपयोग करता है।

यह कैसे काम करता है:

  • vulnerable_service.exe साझा मेमोरी से एक संदेश की लंबाई पढ़ता है, इसे मान्य करता है, 50ms के लिए सोता है, फिर लंबाई को फिर से पढ़ता है (डबल-फ़ेच)।
  • race_attacker.exe एक सुरक्षित लंबाई सेट करता है, सेवा को ट्रिगर करता है, फिर तुरंत साझा मेमोरी को एक ओवरफ्लो मान पर फ्लिप करता है।
  • यदि समय सही है, तो सेवा दूसरी फ़ेच पर ओवरफ्लो मान पढ़ती है — बफर ओवरफ्लो।

vulnerable_service.exe --patched चलाकर फिक्स देखें: एक स्थानीय वेरिएबल में सिंगल-फ़ेच कैप्चर।

TOCTOU रेस कंडीशन डेमो
बाएँ: सेवा रेस का पता लगाती है (5/5)। दाएँ: हमलावर साझा मेमोरी मान फ्लिप कर रहा है।

निर्माण और चलाना

GCC (MinGW) आवश्यक है। lab/ निर्देशिका से:

root@kitploit:~
build.bat

टर्मिनल 1:

root@kitploit:~
vulnerable_service.exe

टर्मिनल 2:

root@kitploit:~
race_attacker.exe 5

फिर vulnerable_service.exe --patched से तुलना करें — समान हमला, शून्य रेस का पता चला।

पता लगाना

ETW मॉनिटर (detection/etw_wpn_monitor.ps1)

पावरशेल स्क्रिप्ट जो 7 संकेतकों की जाँच करती है:

  1. WpnService स्थिति और PID
  2. क्रैश/पुनरारंभ इतिहास (असफल शोषण क्रैश निशान छोड़ता है)
  3. पुश नोटिफिकेशन प्लेटफ़ॉर्म इवेंट लॉग बर्स्ट डिटेक्शन
  4. WPN-संबंधित नामित पाइप
  5. पैच सत्यापन (wpncore.dll दिनांक की जाँच करता है)
  6. WPN मॉड्यूल लोड किए गए प्रक्रियाएँ
  7. सूचना डेटा पथों में Symlink/जंक्शन ऑडिट
root@kitploit:~
powershell -ExecutionPolicy Bypass .\detection\etw_wpn_monitor.ps1

ETW मॉनिटर आउटपुट
ETW मॉनिटर: WpnService चल रहा है (PID 6432), कोई क्रैश नहीं, 100 इवेंट/घंटा, सिस्टम पैच किया गया

Sysmon नियम (detection/sysmon_wpn_race_detect.xml)

निरंतर निगरानी के लिए छह नियम समूह:

नियमयह क्या पकड़ता है
WPN_EoP_ChildProcesssvchost (netsvcs) cmd/powershell/wscript का जन्म
WPN_PipeAccessWPN-संबंधित नामित पाइपों से कनेक्शन
WPN_FileCreationसूचना डेटा निर्देशिकाओं में फ़ाइल निर्माण
WPN_RegistryTamperingPushNotifications कुंजियों में रजिस्ट्री लेखन
WPN_ProcessAccesssvchost के लिए PROCESS_ALL_ACCESS हैंडल
WPN_ThreadInjectionsvchost में CreateRemoteThread

इंस्टॉल करें:

root@kitploit:~
sysmon64.exe -accepteula -i detection\sysmon_wpn_race_detect.xml

इवेंट व्यूअर

WpnService गतिविधि Microsoft-Windows-PushNotifications-Platform/Operational में लॉग होती है। देखने योग्य मुख्य इवेंट:

  • इवेंट 1225: ट्रांसपोर्ट-स्तरीय WPN कमांड
  • तीव्र इवेंट बर्स्ट (>20/मिनट) — संभावित रेस स्प्रे
  • त्रुटि/गंभीर इवेंट — असफल शोषण से संभावित क्रैश

इवेंट व्यूअर WPN इवेंट
इवेंट व्यूअर: PushNotifications-Platform संचालन लॉग, इवेंट ID 1225

पैच डिफिंग

wpncore.dll के डिफिंग से प्रमुख निष्कर्ष:

  • .text अनुभाग में 18,432 बाइट्स की वृद्धि हुई (49 फंक्शन में नया लॉक/गार्ड कोड)
  • .data अनुभाग में 96 बाइट्स की वृद्धि हुई (नए Wns::s_platformLock और Wns::s_platformShutdown ग्लोबल)
  • कोई नया आयात नहीं जोड़ा गया — AcquireSRWLockShared/ReleaseSRWLockShared पहले से ही आयात तालिका में थे
  • नया RAII डिस्ट्रक्टर: ~unique_any_t<...ReleaseSRWLockExclusive...> लॉक रैपर जोड़ने की पुष्टि करता है

पूर्ण रिपोर्ट reports/ में हैं।

संबंधित CVE

CVE-2026-42978 जून 2026 में ठीक किए गए 9 WPN-संबंधित कमजोरियों के समूह का हिस्सा है:

CVEप्रकारCWE
CVE-2026-42977EoPरेस कंडीशन
CVE-2026-42978EoPरेस कंडीशन
CVE-2026-42979EoPरेस कंडीशन
CVE-2026-42991EoPरेस कंडीशन
CVE-2026-42969सूचना प्रकटीकरणरेस कंडीशन
CVE-2026-42970सूचना प्रकटीकरणरेस कंडीशन
CVE-2026-42973सूचना प्रकटीकरणरेस कंडीशन
CVE-2026-26167EoP—
CVE-2026-32160EoP—

परियोजना संरचना

root@kitploit:~
CVE-2026-42978/
├── README.md
├── lab/
│   ├── vulnerable_service.c    # डबल-फ़ेच बग के साथ मॉक WpnService
│   ├── race_attacker.c         # हमलावर जो डबल-फ़ेच का शोषण करता है
│   └── build.bat               # GCC बिल्ड स्क्रिप्ट
├── detection/
│   ├── etw_wpn_monitor.ps1     # 7-जाँच पावरशेल डिटेक्टर
│   └── sysmon_wpn_race_detect.xml  # Sysmon नियम कॉन्फ़िग
├── reports/
│   ├── PE_DIFF_REPORT.txt      # PE अनुभाग/आयात डिफ परिणाम
│   └── FUNCTION_DIFF_REPORT.txt # फंक्शन-स्तरीय डिफ (49 बदले)
└── img/                        # इस README के लिए स्क्रीनशॉट

आवश्यकताएँ

  • Windows 10/11 (प्रयोगशाला और पता लगाने के उपकरण चलाने के लिए)
  • GCC / MinGW (C प्रयोगशाला बनाने के लिए)
  • Python 3.9+ (डिफिंग स्क्रिप्ट के लिए)
  • Ghidra 11+ (हेडलेस डीकंपाइलेशन के लिए, वैकल्पिक)
  • Sysmon (पता लगाने के नियमों के लिए, वैकल्पिक)

अस्वीकरण

यह परियोजना रक्षात्मक सुरक्षा अनुसंधान के लिए है। कमजोरी को पैच किया गया है। कोई शस्त्रीकृत शोषण कोड शामिल नहीं है। TOCTOU प्रयोगशाला एक स्वतंत्र मॉक सेवा पर बग की श्रेणी प्रदर्शित करती है — यह WpnService या किसी सिस्टम घटक के साथ बातचीत नहीं करती है।

सुनिश्चित करें कि आपका Windows अद्यतित है। यदि etw_wpn_monitor.ps1 आपके सिस्टम को अपैच्ड रिपोर्ट करता है — तुरंत जून 2026 संचयी अद्यतन स्थापित करें।

योगदान

यदि आपके पास जोड़ने के लिए कुछ है — बेहतर पता लगाने के नियम, शोषण PoC, एक Ghidra वर्जन ट्रैकिंग सेशन, YARA हस्ताक्षर, या इस क्लस्टर में संबंधित CVE का विश्लेषण — PR का स्वागत है।

योगदान के लिए विचार:

  • SIEM पहचान पक्ष के लिए Sigma नियम
  • CVE-2026-42977/42979/42991 (समान WPN रेस परिवार) का गहन विश्लेषण
  • use-after-free का WinDbg-आधारित हीप विश्लेषण
  • रीयल-टाइम ALPC बर्स्ट डिटेक्शन के साथ बेहतर ETW मॉनिटर
  • Windows Defender ASR नियम अनुशंसाएँ

यदि आपके प्रश्न हैं या शोध पर चर्चा करना चाहते हैं तो एक मुद्दा खोलें।

लाइसेंस

MIT

टूल डाउनलोड करें