
CVE-2026-42978 Windows Push Notifications (WpnService) Use-After-Free e Race Condition: ricerca PoC, scanner diagnostico e modulo di audit di sicurezza per AI Security Tool.
Navigazione del sito: Home · Aggiornamenti · Download · Moduli
Prodotto: AI Security Tool
Sito: zerodayevil.github.io
Documentazione: https://zerodayevil.github.io/ai-security-tool
Questo modulo è una trattazione revisionata e un profilo di verifica sicura per AI Security Tool.
Utilizza solo i moduli elencati sul sito del progetto o nel catalogo ufficiale. Carica questo modulo all'interno dell'applicazione approvata, verso endpoint di tua proprietà o per i quali sei autorizzato per iscritto a effettuare valutazioni.
Questo repository non distribuisce un exploit weaponizzato contro WpnService. Il laboratorio in lab/ è un mock autonomo della classe di bug (TOCTOU / double-fetch). Non comunica con il servizio reale di push notification.
Installa prima l'applicazione host. Poi abilita questo modulo da Modules → Windows / Local EoP → CVE-2026-42978.
| OS / piattaforma | Versione | Architettura / formato | Aggiornato | Stato | Download |
|---|---|---|---|---|---|
| Windows | v6.3.20 | installer x64 (.exe) | 2026-09-08 | Latest | Download .exe |
| Windows | v6.3.20 | portable x64 (.tar.gz) | 2026-09-08 | Latest | Download .tar.gz |
| macOS | v5.3.29 | Apple Silicon (.dmg) | 2026-09-05 | Stable | Download .dmg |
| Linux | v5.3.27 | Universal x64 (.tar.gz) | 2026-09-01 | Stable | Download .tar.gz |
| Android | v5.3.27 | ARM64 APK (.apk) | 2026-09-01 | Stable | Download .apk |
Solo fonti ufficiali:
CVE-2026-42978 è una elevazione locale di privilegi in Windows Push Notifications. Microsoft descrive un accesso concorrente a una risorsa condivisa senza corretta sincronizzazione (CWE-362). La ricerca su wpncore.dll patchata e non patchata mostra una race use-after-free in PresentationEndpointFacade durante lo shutdown della piattaforma.
WpnService viene eseguito nella sessione 0 come NT AUTHORITY\SYSTEM (svchost.exe -k netsvcs -p). La consegna di toast, tile e badge passa attraverso di esso. Vincere una race contro quel processo è un problema SYSTEM sulla macchina locale — non un bug remoto pre-auth su DC.
Stato: patchato il 10 giugno 2026 (Patch Tuesday). Questa pagina è ricerca difensiva.
Non è CVE-2026-41089 (Netlogon RCE). Componente diverso, modello di privilegi diverso, data di patch diversa.
| Campo | Valore |
|---|---|
| CVE | CVE-2026-42978 |
| BDU | BDU:2026-08249 |
| Advisory del vendor | MSRC — Windows Push Notifications EoP |
| Gravità | High · CVSS 3.1 7.8 |
| Debolezza | CWE-362 race condition · use-after-free sul percorso di shutdown |
| Componente | Windows Push Notifications · WpnService · wpncore.dll |
| Vettore di attacco | Locale |
| Privilegi richiesti | Bassi (utente locale autorizzato) |
| Interazione utente | Nessuna |
| Patch Tuesday | 10 giugno 2026 |
| Tipo di modulo | Trattazione di ricerca + verifica sicura in-app + pacchetto di rilevamento |
SKU client e server che includono Push Notifications. Conferma il KB esatto su MSRC prima di chiudere un ticket.
| Famiglia | Note |
|---|---|
| Windows 10 | 1809, 21H2, 22H2 (x86 / x64 / ARM64 ove applicabile) |
| Windows 11 | 23H2, 24H2, 25H2, 26H1 |
| Windows Server | 2016 / 2019 / 2022 / 2025 (full e Server Core dove il componente esiste) |
Build orientative dalle note di servicing pubbliche (ricontrolla sempre MSRC):
| Branch | Build patchata indicativa |
|---|---|
| Windows 11 23H2 | 22631.7219 |
| Windows 11 24H2 | 26100.8655 |
| Windows 11 25H2 | 26200.8655 |
| Windows 11 26H1 | 28000.2269 |
Esempio wpncore.dll (24H2) | vulnerabile 26100.8521 → patchata 26100.8655 |
La facade incapsula le chiamate alle API di notifica e delega a PresentationEndpointImpl. Durante lo shutdown della piattaforma, l'oggetto NotificationPlatform viene distrutto. Diversi metodi della facade storicamente acquisivano un puntatore alla piattaforma senza un flag di shutdown o un lock condiviso. Se il teardown vince la race, la chiamata successiva utilizza un puntatore pendente.
Lo stesso pattern lock-and-guard è stato applicato a 49 metodi PresentationEndpointFacade::*. I metodi di implementazione sottostanti sono rimasti invariati — il buco era nella facade.
wpncore.dll 26100.8521)// PresentationEndpointFacade::ToastUnblockAll — unpatched
long ToastUnblockAll(PresentationEndpointFacade *this) {
NotificationPlatformHandle::Get(this + 0x50);
if (platform == NULL)
Throw_Hr(...);
return PresentationEndpointImpl::UnblockToastsForEachApp(...);
}
wpncore.dll 26100.8655)// PresentationEndpointFacade::ToastUnblockAll — patched
long ToastUnblockAll(PresentationEndpointFacade *this) {
if (Feature_4097557817::IsEnabled()) {
AcquireSRWLockShared(&Wns::s_platformLock);
if (Wns::s_platformShutdown)
Throw_Hr(E_APPLICATION_EXITING);
NotificationPlatformHandle::Get(this + 0x50);
ReleaseSRWLockShared(&Wns::s_platformLock);
}
}
Cosa aggiunge la patch:
AcquireSRWLockShared — lock readers-writer; lo shutdown acquisisce in esclusiva.s_platformShutdown — esce con E_APPLICATION_EXITING se il teardown è iniziato.unique_storage, così il lock viene rilasciato anche sui percorsi di eccezione.Feature_4097557817 per rollout graduale / rollback.| Categoria | Funzioni di esempio |
|---|---|
| Toast | ToastUnblockAll, ToastCreateSession, ToastCloseSession, ToastRequestAllNotifications, ToastSuppress |
| Tile | TileCreateSession, TileCloseSession, TileRequestResourceForeground |
| Registrazione | RegisterApplication, UnregisterApplication, RegisterHandler, UpdateRegistration |
| Impostazioni | ChangeAppSetting, QueryAppSetting, QueryGlobalSetting |
| Consegna | Deliver, GetPayloadForNotificationId, Submit, PostScheduledNotification |
| Query | GetRegisteredHandler, GetSettingsFromHandler, GetAssetsFromHandler |
Note PE da reports/:
.text è cresciuto di 18.432 byte.data è cresciuto di 96 byte (Wns::s_platformLock, Wns::s_platformShutdown)WpnService è SYSTEM. Se la race viene vinta, una chiamata a vtable pendente può essere trasformata in esecuzione di codice SYSTEM locale. Quel passaggio — heap spray, hijack della vtable, payload — è fuori ambito qui.
Questo modulo serve per comprensione della causa principale, verifica delle patch e rilevamento.
detection/) su una macchina di laboratorio.Non eseguire loop di crash o race contro WpnService di produzione.
authorized operator
│
▼
AI Security Tool → module 42978
│
▼
authorized Windows endpoint
│
├─ patch / wpncore.dll age
└─ SIEM / Sysmon / Event Log notes
lab/ è una demo C autonoma di double-fetch / TOCTOU. Utilizza una named pipe e memoria condivisa. Non carica wpncore.dll e non avvia o arresta WpnService.
vulnerable_service.exe — valida una lunghezza, dorme, rilegge la lunghezza.race_attacker.exe — modifica il valore condiviso durante quella finestra.--patched — single-fetch in una variabile locale; lo stesso attaccante dovrebbe vedere zero race.Richiede GCC (MinGW). Da lab/:
build.bat
Terminale 1: vulnerable_service.exe
Terminale 2: race_attacker.exe 5
Poi confronta con vulnerable_service.exe --patched.
detection/etw_wpn_monitor.ps1Sette controlli:
WpnServicewpncore.dll)powershell -ExecutionPolicy Bypass .\detection\etw_wpn_monitor.ps1
detection/sysmon_wpn_race_detect.xml| Regola | A cosa serve |
|---|---|
WPN_EoP_ChildProcess | svchost (netsvcs) che genera cmd / powershell / wscript |
WPN_PipeAccess | Connessioni a named pipe correlate a WPN |
WPN_FileCreation | Creazione di file nelle directory dei dati di notifica |
WPN_RegistryTampering | Scritture sotto le chiavi PushNotifications |
WPN_ProcessAccess | PROCESS_ALL_ACCESS verso svchost |
WPN_ThreadInjection | CreateRemoteThread dentro svchost |
sysmon64.exe -accepteula -i detection\sysmon_wpn_race_detect.xml
Canale: Microsoft-Windows-PushNotifications-Platform/Operational
wpncore.dll corrisponde alla riga patchata per quel branchsvchost -k netsvcs genera una shellSe etw_wpn_monitor.ps1 indica non patchato — installa l'aggiornamento di giugno 2026 e ricontrolla.
| CVE | Classe |
|---|---|
| CVE-2026-42977 | EoP · race |
| CVE-2026-42978 | EoP · race (questo modulo) |
| CVE-2026-42979 | EoP · race |
| CVE-2026-42991 | EoP · race |
| CVE-2026-42969 | Divulgazione di informazioni · race |
| CVE-2026-42970 | Divulgazione di informazioni · race |
| CVE-2026-42973 | Divulgazione di informazioni · race |
| CVE-2026-26167 | EoP |
| CVE-2026-32160 | EoP |
CVE-2026-42978/
├── README.md
├── LICENSE
├── lab/
│ ├── vulnerable_service.c
│ ├── race_attacker.c
│ └── build.bat
├── detection/
│ ├── etw_wpn_monitor.ps1
│ └── sysmon_wpn_race_detect.xml
└── reports/
├── PE_DIFF_REPORT.txt
└── FUNCTION_DIFF_REPORT.txt
Requisiti: Windows 10/11 per gli script di rilevamento · MinGW per il laboratorio mock · Sysmon opzionale.
Gli screenshot in questo README sono caricati da URL pubblici di immagini. Non sono memorizzati in questo albero.
4 moduli@ZeroDayEvil@ZeroDayEvil@ZeroDayEvil@ZeroDayVPN2 moduli@ZeroDayVPN@ZeroDayEvil2 moduli@ZeroDayEvil@ZeroDayVPNLavoro utile:
Non aprire una PR che aggiunga un exploit weaponizzato per WpnService, un helper di heap-spray o un PoC di exploit contro il servizio live.
Rilasciato sotto MIT License. Vedi LICENSE.
Solo ricerca difensiva autorizzata e amministrazione di sistema.
Il testing di escalation locale di privilegi senza autorizzazione scritta è illegale.
La vulnerabilità è patchata. Mantieni Windows aggiornato. Questo repository non include un exploit weaponizzato contro il servizio live.
AI Security Tool — flusso di lavoro da terminale e automazione per professionisti della cybersecurity.
Modulo difensivo per zerodayevil.github.io · Nessun exploit WpnService autonomo · Verifica i fatti su MSRC