Den 13 oktober 2026 släppte Microsoft sin största patchomgång någonsin: 1 413 sårbarheter i ett enda svep, enligt Qualys ThreatPROTECTs genomgång av oktobers Patch Tuesday. Bland alla dessa brister fanns en som redan utnyttjades aktivt innan Microsoft hann patcha den: CVE-2026-96951, en brist i Windows Shell som gör det möjligt att kringgå Mark-of-the-Web, skyddsmekanismen som flaggar filer hämtade från internet. CISA satte deadline till 16 oktober 2026 för amerikanska federala myndigheter, men bristen berör alla Windows-miljöer, inklusive svenska och nordiska organisationer som kör Windows 11 eller Windows Server 2025.

Den här guiden visar steg för steg hur du identifierar om dina system är sårbara, installerar rätt uppdatering, verifierar att Mark-of-the-Web fortfarande fungerar efter patchning, och bygger ett litet automatiserat kontrollskript i PowerShell som du kan köra om och om igen i din miljö. Du behöver inga tidigare djupa kunskaper i säkerhetsforskning, bara grundläggande vana vid PowerShell och Windows Update.

Vad är CVE-2026-96951 och varför spelar Mark-of-the-Web roll?

Mark-of-the-Web (MotW) är en liten men viktig funktion i Windows. När en fil laddas ner från internet, till exempel via webbläsaren eller som bilaga i Outlook, märker NTFS-filsystemet filen med ett alternativt dataflöde kallat Zone.Identifier. Det flödet talar om för Windows att filen kommer från “internetzonen” och ska behandlas med extra misstänksamhet: makron i Office-dokument blockeras som standard, SmartScreen varnar innan körbara filer startas, och sandboxning kan aktiveras för vissa filtyper.

CVE-2026-96951 är en sårbarhet i Windows Shell som, enligt CSO Onlines genomgång av oktobers Patch Tuesday, gör det möjligt för en angripare att kringgå just den här MotW-flaggningen. Sårbarheten har ett CVSS-värde på 8,8 och beskrivs som en säkerhetsbypass som i vissa fall kan kombineras med kommandoinjektion för att nå sitt mål. I praktiken betyder det att en fil som borde ha stoppats av Windows skyddslager istället kan köras som om den var en helt vanlig, lokal och betrodd fil. Det är precis den typen av brist som ransomware-grupper och statsunderstödda aktörer älskar, eftersom den river ner en hel försvarslinje med ett enda knep.

Det som gör CVE-2026-96951 särskilt brådskande är att den, enligt samma rapportering, redan var under aktivt utnyttjande när Microsoft publicerade patchen. Det skiljer den från de allra flesta av de 1 413 sårbarheterna i oktoberomgången, där de flesta är teoretiska risker som ännu inte setts i verkliga attacker. SANS Institutes NewsBites-sammanfattning för 16 oktober 2026 pekar ut just den aktiva exploateringen som skälet till att administratörer bör prioritera denna specifika post före många andra med högre CVSS-poäng men lägre faktisk risk.

Förkunskaper och verktyg du behöver

Innan du börjar, se till att du har följande på plats. Listan är medvetet kort, eftersom hela poängen med guiden är att den ska gå att genomföra på en vanlig arbetsdag utan att behöva sätta upp ny infrastruktur.

  • Windows 11 (version 26H1, 25H2 eller 24H2) eller Windows Server 2025, med administratörsbehörighet
  • PowerShell 7.4 eller senare (medföljer Windows, men kontrollera versionen i steg 3)
  • Tillgång till Windows Update, WSUS eller Microsoft Update Catalog beroende på hur din organisation distribuerar uppdateringar
  • Ett testsystem som inte är produktionskritiskt, för att verifiera patchen innan den rullas ut brett
  • Grundläggande kännedom om NTFS alternativa dataflöden (Alternate Data Streams) underlättar men krävs inte
  • Om du hanterar flera hundra eller tusen enheter: tillgång till ett verktyg för centraliserad patchrapportering, till exempel Microsoft Endpoint Configuration Manager eller motsvarande

Du behöver inte installera några tredjepartsverktyg för att genomföra grundflödet. Allt som visas nedan bygger på funktioner som redan finns i Windows.

Steg 1: Kartlägg vilka system som är exponerade

Första steget är alltid att veta vad du faktiskt har. Kör följande PowerShell-kommando på varje system, eller via fjärrsession om du hanterar flera maskiner samtidigt, för att se vilken build och version som körs.

Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber, OsHardwareAbstractionLayer

Resultatet talar om exakt vilken Windows-version och build-nummer maskinen kör. Jämför build-numret mot den lägsta patchade versionen som anges i Microsofts Security Update Guide för CVE-2026-96951 innan du går vidare. Är build-numret lägre än den patchade versionen för din Windows-utgåva är systemet sårbart och ska prioriteras i nästa steg.

Om du hanterar en hel flotta av enheter kan du använda samma kommando över fjärrsessioner med Invoke-Command mot en lista av datornamn, och skriva resultatet till en CSV-fil för uppföljning:

$datorer = Get-Content .\datorlista.txt
Invoke-Command -ComputerName $datorer -ScriptBlock {
    Get-ComputerInfo | Select-Object CsName, WindowsProductName, OsBuildNumber
} | Export-Csv -Path .\byggversioner.csv -NoTypeInformation -Encoding UTF8

Den här kartläggningen bör du göra innan varje större patchrunda, inte bara för CVE-2026-96951. Det ger dig ett ögonblicksfoto av var organisationen faktiskt står, istället för att gissa.

Steg 2: Kontrollera om uppdateringen redan är installerad

Nästa steg är att se om oktoberuppdateringen redan finns på plats. Varje Patch Tuesday-release knyts till ett specifikt KB-nummer för varje Windows-version. Kontrollera installerade uppdateringar med Get-HotFix eller det mer detaljerade Get-WindowsUpdateLog-flödet.

Get-HotFix | Where-Object { $_.InstalledOn -gt (Get-Date).AddDays(-30) } | Sort-Object InstalledOn -Descending

Leta efter KB-numret som Microsoft kopplar till oktober 2026-uppdateringen för just din Windows-version i Microsoft Security Update Guide. Saknas det bland de senaste 30 dagarnas uppdateringar är systemet fortfarande sårbart. Tänk på att Get-HotFix ibland missar kumulativa uppdateringar som installerats via Windows Update istället för WSUS, så dubbelkolla gärna mot Get-WindowsUpdateLog eller uppdateringshistoriken i Inställningar om siffrorna inte stämmer.

Steg 3: Verifiera PowerShell-version och förbered skriptmiljön

Eftersom resten av guiden bygger på PowerShell-skript, kontrollera att du kör en tillräckligt ny version innan du fortsätter. Vissa cmdlets för NTFS-dataflöden fungerar olikt mellan Windows PowerShell 5.1 och PowerShell 7.x.

$PSVersionTable.PSVersion

Om versionen är lägre än 7.4, uppdatera via winget install Microsoft.PowerShell innan du går vidare. Skapa sedan en arbetsmapp för testerna, så att du inte blandar ihop testfiler med produktionsdata:

New-Item -ItemType Directory -Path C:\MotW-Test -Force
Set-Location C:\MotW-Test

Steg 4: Installera oktober 2026-uppdateringen

Det finns tre vanliga vägar för att installera uppdateringen, beroende på hur din organisation är uppsatt.

Via Windows Update direkt

På enstaka maskiner eller mindre miljöer räcker det att öppna Inställningar, gå till Windows Update och klicka på “Sök efter uppdateringar”. Windows hämtar och installerar automatiskt den senaste kumulativa uppdateringen, som inkluderar fixen för CVE-2026-96951.

Via WSUS eller Configuration Manager

I större miljöer godkänner du oktoberuppdateringen i din WSUS-konsol eller i Configuration Manager, och riktar den mot en pilotgrupp innan bred utrullning. Prioritera system som är internetexponerade eller tar emot filer från externa källor, eftersom det är där MotW-bypassen gör mest skada.

Via Microsoft Update Catalog (offline-installation)

För isolerade system utan internetåtkomst, ladda ner rätt .msu-paket från Microsoft Update Catalog på en annan maskin och installera manuellt:

wusa.exe C:\Patches\windows10.0-kbXXXXXXX-x64.msu /quiet /norestart

Byt ut KB-numret mot det som faktiskt gäller för din version enligt Microsofts Security Update Guide. Starta om systemet efter installation, eftersom kumulativa Windows-uppdateringar nästan alltid kräver omstart för att aktiveras fullt ut.

Steg 5: Bekräfta att patchen faktiskt installerades

Kör samma kommando som i steg 2 igen efter omstart, och bekräfta att rätt KB-nummer nu dyker upp i listan. Det låter enkelt, men det är ett steg många hoppar över, och det är precis det steget som avslöjar misslyckade eller delvis genomförda installationer innan de blir ett problem längre fram.

Get-HotFix | Where-Object { $_.HotFixID -like "*KBXXXXXXX*" }

Får du inget resultat tillbaka har installationen misslyckats eller inte slutförts, och du behöver gå tillbaka till steg 4 innan du fortsätter.

Steg 6: Testa Mark-of-the-Web praktiskt med en Zone.Identifier-kontroll

Det räcker inte att bara installera en patch, du måste också bekräfta att skyddet den återställer faktiskt fungerar. Det gör du genom att skapa en testfil som simulerar en nedladdning, och kontrollera att Windows korrekt märker den med Zone.Identifier.

# Skapa en testfil som om den laddats ner från internet
$filnamn = "C:\MotW-Test\testfil.txt"
"Detta är en testfil för MotW-verifiering" | Out-File $filnamn

# Lägg till Zone.Identifier manuellt, precis som webbläsare gör automatiskt
Set-Content -Path $filnamn -Stream Zone.Identifier -Value "[ZoneTransfer]`r`nZoneId=3"

# Kontrollera att dataflödet faktiskt finns kvar
Get-Item -Path $filnamn -Stream Zone.Identifier

Om kommandot returnerar information om ett Zone.Identifier-dataflöde med ZoneId=3 betyder det att filen korrekt flaggas som hämtad från internetzonen. Testa sedan att öppna en körbar testfil eller ett makroaktiverat Office-dokument med samma märkning, och bekräfta att Windows Defender SmartScreen faktiskt varnar innan filen tillåts köras. Om varningen uteblir, trots att Zone.Identifier finns på plats, är det ett tecken på att MotW-bypassen fortfarande kan utnyttjas på just det systemet, och du bör undersöka vidare innan du litar på patchen.

Steg 7: Bygg ett automatiserat kontrollskript för hela miljön

Att testa en maskin i taget blir snabbt ohållbart i en organisation med fler än ett tiotal datorer. Här är ett komplett litet skript som kombinerar stegen ovan: det kontrollerar build-nummer, letar efter rätt KB-nummer, och loggar resultatet till en central CSV-fil som du kan granska eller importera i ett dashboard-verktyg.

# motw-verifiering.ps1
param(
    [string]$KBNummer = "KBXXXXXXX",
    [string]$Utdata = "C:\Rapporter\motw-status.csv"
)

$info = Get-ComputerInfo | Select-Object CsName, OsBuildNumber
$patchad = [bool](Get-HotFix | Where-Object { $_.HotFixID -like "*$KBNummer*" })

$testfil = "$env:TEMP\motw-check-$(Get-Random).txt"
"testdata" | Out-File $testfil
Set-Content -Path $testfil -Stream Zone.Identifier -Value "[ZoneTransfer]`r`nZoneId=3"
$zoneOk = [bool](Get-Item -Path $testfil -Stream Zone.Identifier -ErrorAction SilentlyContinue)
Remove-Item $testfil -Force

$resultat = [PSCustomObject]@{
    Dator       = $info.CsName
    Build       = $info.OsBuildNumber
    KBInstallerad = $patchad
    ZoneIdentifierFungerar = $zoneOk
    Kontrolldatum = Get-Date -Format "yyyy-MM-dd HH:mm"
}

$resultat | Export-Csv -Path $Utdata -Append -NoTypeInformation -Encoding UTF8
$resultat

Kör skriptet via Invoke-Command mot hela din datorlista, eller lägg in det som ett schemalagt uppdrag som körs varje vecka och mailar resultatet till säkerhetsteamet. Det ger dig ett löpande facit över hur patchningen faktiskt går, istället för att förlita dig på att WSUS-rapporter alltid stämmer med verkligheten.

Steg 8: Prioritera rätt system först

Med över 1 400 sårbarheter i en och samma patchomgång är det orimligt att allt kan åtgärdas samtidigt. Bygg en enkel prioriteringsordning baserad på exponering, inte bara CVSS-poäng. CrowdStrikes analys av septembers Patch Tuesday, som också innehöll två aktivt utnyttjade zero-days enligt deras genomgång, pekar på samma mönster: aktiv exploatering väger tyngre än ett högt men teoretiskt CVSS-värde.

SystemtypRisknivåRekommenderad åtgärdstid
Internetexponerade servrar och filtjänsterKritiskInom 24 timmar
Arbetsstationer med e-post och webbläsningHögInom 72 timmar
Interna applikationsservrar utan direkt filmottagningMedelInom 7 dagar
Isolerade system utan nätverksåtkomstLågVid nästa planerade fönster
Testmiljöer och sandlådorLågVid nästa planerade fönster

Den här typen av riskbaserad prioritering är precis det arbetssätt som CISA förespråkar i sin KEV-katalog (Known Exploited Vulnerabilities), där posterna listas efter bekräftad aktiv exploatering snarare än ren CVSS-poäng. Samma princip gäller oavsett om bristen kommer från Microsoft, Atlassian eller någon annan leverantör.

Steg 9: Dokumentera patchningen för revision och efterlevnad

För organisationer som omfattas av NIS2 eller andra regulatoriska krav är dokumentation lika viktig som själva patchningen. Spara åtminstone följande för varje system: datornamn, ursprungligt build-nummer, installerat KB-nummer, datum för installation, och resultatet av Zone.Identifier-testet. CSV-filen från steg 7 ger dig redan grunden, men komplettera med en kort sammanfattning per vecka som går till ledningen eller säkerhetsansvarig.

Import-Csv C:\Rapporter\motw-status.csv |
    Group-Object KBInstallerad |
    Select-Object Name, Count |
    Format-Table -AutoSize

Det ger dig en snabb översikt över hur stor andel av flottan som är patchad, utan att behöva öppna varje enskild rad i rapporten.

Steg 10: Kontrollera kompletterande skyddslager

Patchen för CVE-2026-96951 är huvudåtgärden, men den bör kombineras med kompletterande skyddslager som gör skadan mindre om en ny liknande bypass upptäcks i framtiden.

  • Kontrollera att Windows Defender SmartScreen är aktiverat i både Edge och i filutforskaren
  • Se över AppLocker- eller WDAC-regler (Windows Defender Application Control) så att okända körbara filer från nedladdningsmappar blockeras som standard
  • Begränsa vilka filtyper som tillåts som e-postbilagor på gatewaynivå, särskilt körbara och makroaktiverade format
  • Aktivera attackytereducering (Attack Surface Reduction-regler) i Microsoft Defender för att blockera körning av innehåll från Office-makron som startar processer

Ingen enskild kontroll är vattentät på egen hand. Poängen med flera lager är att en bypass i ett lager, som MotW-kringgåendet i CVE-2026-96951, inte automatiskt ger en angripare fritt spelrum om nästa lager fångar upp försöket istället.

Steg 11: Sätt upp kontinuerlig bevakning mot nya CVE:er

Oktober 2026 var inte en engångsföreteelse. Enligt Brinqas analys av samma patchomgång är det fjärde rekordet på fem månader för antal CVE:er i en enskild Patch Tuesday-release. Det mönstret betyder att ditt team behöver ett återkommande flöde, inte ett engångsprojekt, för att hänga med.

Ett enkelt sätt att börja är att schemalägga kontrollskriptet från steg 7 som ett veckovis uppdrag i Aktivitetshanteraren (Task Scheduler), och koppla resultatet till en varning om andelen opatchade system överstiger en vald tröskel, till exempel 5 procent av flottan.

$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 7am
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\Skript\motw-verifiering.ps1"
Register-ScheduledTask -TaskName "MotW-Veckokontroll" -Trigger $trigger -Action $action -RunLevel Highest

Tidsåtgång: hur länge tar hela projektet i praktiken?

En rimlig fråga innan du sätter igång är hur mycket tid hela flödet faktiskt kräver. Svaret beror naturligtvis på hur stor din miljö är, men nedan är en realistisk uppskattning för en organisation med ett par hundra enheter, uppdelad efter de faser som beskrivs i stegen ovan. Siffrorna utgår från manuellt arbete utan tidigare automatisering på plats, så en organisation som redan har skript och rapportering färdigbyggd rör sig snabbare genom samma lista.

FasSteg som ingårUppskattad tidsåtgång
Kartläggning och inventeringSteg 1–32–4 timmar
Installation i pilotgruppSteg 4–51–2 timmar aktivt arbete, plus 24 timmars observationsfönster
Verifiering av Mark-of-the-WebSteg 630–60 minuter per testad konfiguration
Bygga och testa kontrollskriptetSteg 72–3 timmar första gången, sedan återanvändbart
Bred utrullning och prioriteringSteg 81–5 dagar beroende på flottans storlek och ringstrategi
Dokumentation och bevakningSteg 9–111–2 timmar initialt, därefter cirka 30 minuter per vecka

Totalt landar en förstagångskörning av hela projektet ofta mellan tre och sju arbetsdagar, räknat från första kartläggningen till att hela flottan är verifierat patchad och dokumentationen är klar. Det är betydligt snabbare än det låter, eftersom merparten av tiden går till väntetid mellan utrullningsringar snarare än till aktivt administrationsarbete. Nästa gång samma mönster upprepas, med ett nytt KB-nummer för en ny sårbarhet, krymper tidsåtgången rejält eftersom kontrollskriptet och dokumentationsmallen redan finns på plats.

Checklista att gå igenom innan patchfönstret öppnas

Innan du sätter igång med en bred utrullning, särskilt i en produktionsmiljö, är det värt att gå igenom en kort checklista. Den fångar upp de misstag som annars dyker upp mitt i natten när ingen vill felsöka ett misslyckat patchfönster.

  • Säkerställ att aktuella säkerhetskopior finns för kritiska servrar, och att återställning faktiskt har testats nyligen, inte bara konfigurerats
  • Bekräfta att pilotgruppen representerar de vanligaste maskinkonfigurationerna i din miljö, inte bara de nyaste eller enklaste systemen
  • Meddela berörda team om det planerade patchfönstret och den förväntade omstarten, särskilt för system med skiftarbete
  • Kontrollera diskutrymme på målsystemen, eftersom otillräckligt utrymme är en vanlig orsak till misslyckade kumulativa uppdateringar
  • Verifiera att WinRM och nödvändiga brandväggsregler för fjärrstyrning fungerar innan du behöver använda kontrollskriptet i stor skala
  • Bekräfta vem som äger beslutet att pausa eller backa utrullningen om pilotgruppen visar oväntade problem

Den sista punkten underskattas ofta. Ett tydligt mandat för att pausa en utrullning, utan att behöva vänta på godkännande uppåt i organisationen, är ofta det som avgör om ett litet problem i pilotgruppen stannar litet eller växer till en incident som drabbar hela verksamheten.

Vanliga fallgropar vid patchning av Mark-of-the-Web-brister

Flera av de problem som dyker upp under den här typen av patchning är förutsägbara om du vet vad du ska leta efter. Här är de vanligaste misstagen vi sett i liknande patchrundor.

  • Att lita blint på WSUS-status. WSUS kan rapportera att en uppdatering är installerad även när den faktiskt misslyckats lokalt på grund av diskutrymme eller korrupta uppdateringskomponenter. Verifiera alltid med Get-HotFix direkt på maskinen.
  • Att glömma omstarten. Kumulativa Windows-uppdateringar aktiveras sällan fullt ut förrän systemet startats om, även om installationsloggen ser klar ut.
  • Att testa på en maskin som redan var patchad från tidigare. Om du testar MotW-funktionen på fel maskin riskerar du att dra fel slutsats om att hela flottan är skyddad.
  • Att blanda ihop Zone.Identifier-testet med ett riktigt skadligt test. Använd aldrig verklig skadlig kod för att verifiera patchen. Den syntetiska testfilen i steg 6 räcker gott för att bekräfta att dataflödet hanteras korrekt.
  • Att nedprioritera isolerade system för länge. Även luftgapade miljöer tar emot filer via USB-media eller manuell överföring ibland, och bör inte lämnas opatchade i evighet bara för att de inte är internetexponerade.
  • Att strunta i tredjepartsmjukvara som skapar egna nedladdningsflöden. Vissa äldre nedladdningsklienter och FTP-verktyg sätter inte Zone.Identifier korrekt, vilket kan ge en falsk känsla av säkerhet om du bara testar med webbläsarens nedladdningar.
  • Att inte dokumentera vilka system som medvetet undantagits. Om ett system skjuts upp av goda skäl, till exempel ett kritiskt affärssystem som kräver extra testning, dokumentera det explicit istället för att låta det falla mellan stolarna.

Exempel på utdata från kontrollskriptet

Så här kan en körning av skriptet från steg 7 se ut i praktiken, på en maskin som redan är patchad och fungerar korrekt:

Dator   Build  KBInstallerad ZoneIdentifierFungerar Kontrolldatum
------  -----  ------------- ---------------------- -------------
WS-042  26100  True          True                   2026-10-16 09:14

Och här är ett exempel från ett system som fortfarande saknar uppdateringen, vilket du bör se som en tydlig åtgärdspunkt:

Dator   Build  KBInstallerad ZoneIdentifierFungerar Kontrolldatum
------  -----  ------------- ---------------------- -------------
WS-117  22631  False         True                   2026-10-16 09:15

Lägg märke till att ZoneIdentifierFungerar kan visa True även på ett opatchat system, eftersom grundfunktionen för att sätta dataflödet fortfarande fungerar. Det är själva kringgåendet av skyddslogiken som bristen handlar om, inte avsaknaden av dataflödet i sig. Därför räcker inte Zone.Identifier-testet ensamt, det måste kombineras med KB-kontrollen för att ge en tillförlitlig bild.

Felsökning: när patchningen inte beter sig som förväntat

Även en välplanerad patchrunda stöter ofta på friktion. Här är åtta vanliga problem och hur du löser dem.

  • Uppdateringen laddas ner men installationen misslyckas med felkod 0x80070002. Kör DISM /Online /Cleanup-Image /RestoreHealth följt av sfc /scannow för att reparera skadade systemfiler innan du försöker igen.
  • Get-HotFix visar inget resultat alls, trots lyckad installation. Vissa kumulativa uppdateringar syns bättre via Get-Package -ProviderName msu eller i uppdateringshistoriken i Inställningar, eftersom Get-HotFix ibland missar nyare paketformat.
  • Zone.Identifier-testet i steg 6 ger ett fel om att dataflödet inte hittas. Kontrollera att filen ligger på en NTFS-formaterad volym. ReFS och vissa nätverksdelade mappar hanterar alternativa dataflöden annorlunda eller inte alls.
  • WSUS visar uppdateringen som väntande i flera dagar. Kontrollera att klienterna faktiskt synkroniserar mot WSUS-servern och att gruppolicyn för Windows Update pekar mot rätt server. Tvinga fram en ny kontroll direkt från klienten vid behov.
  • Omstarten hänger sig eller tar extremt lång tid. Det är ofta ett tecken på diskproblem eller en konflikt med tredjepartsantivirus. Starta om i felsäkert läge och kontrollera händelseloggen för Windows Update innan du eskalerar.
  • Invoke-Command mot flera datorer ger åtkomst nekad. Kontrollera att WinRM är aktiverat och att kontot som kör skriptet har administratörsrättigheter på målmaskinerna, samt att brandväggsregler tillåter PowerShell-fjärrstyrning på port 5985 och 5986.
  • SmartScreen varnar inte trots att patchen är installerad och Zone.Identifier finns. Kontrollera gruppolicyinställningarna för SmartScreen under Administrativa mallar, eftersom en felaktigt konfigurerad policy kan inaktivera varningarna helt oavsett patchstatus.
  • Rapporten i steg 9 visar fler rader än antalet faktiska datorer. Det beror oftast på att skriptet körts flera gånger utan att den gamla CSV-filen rensats. Lägg till en tidsstämpel i filnamnet eller rensa filen innan varje ny veckokörning.

Roller och ansvar: vem gör vad i patchprojektet

Ett vanligt skäl till att patchprojekt drar ut i tiden är otydlighet kring vem som faktiskt äger vilket steg. I mindre organisationer faller ofta allt på en enda IT-ansvarig, men redan från ett tiotal servrar och uppåt lönar det sig att dela upp ansvaret tydligt mellan roller.

RollHuvudansvar i projektetBerörda steg
SäkerhetsansvarigRiskbedömning, prioritering efter exponering, godkänna undantagSteg 8, Steg 10
SystemadministratörInstallation, omstart, felsökning av misslyckade uppdateringarSteg 4, Steg 5, Felsökning
Driftansvarig / IT-chefBesluta om patchfönster, kommunicera med verksamhetenChecklistan, Steg 8
AutomationsansvarigBygga och underhålla kontrollskript och schemaläggningSteg 7, Steg 11
Revisions- och efterlevnadsansvarigSäkerställa att dokumentation uppfyller NIS2-kravSteg 9

I mindre organisationer kan en och samma person bära flera av dessa roller, men det är ändå värt att skriva ner vem som gör vad, även om det bara är en enda rad per roll i ett delat dokument. Det gör skillnaden mellan att veta exakt vem som ska agera när kontrollskriptet larmar om en avvikelse, och att flera personer antar att någon annan redan tar hand om det.

Värt att notera är att säkerhetsansvarig och systemadministratör ofta behöver samma underlag men av olika skäl. Säkerhetsansvarig vill se exponering och risk för att kunna prioritera rätt, medan systemadministratören vill se konkreta felkoder och KB-nummer för att kunna agera. Kontrollskriptet från steg 7 bör därför utformas så att det kan exportera både en sammanfattande vy för ledningsrapportering och en detaljerad vy för den som faktiskt ska felsöka enskilda maskiner.

Avancerade tips för team som patchar i stor skala

När du har grundflödet på plats finns det några förbättringar som gör processen betydligt stabilare i större miljöer.

Separera testning från utrullning med ringbaserad distribution. Patcha först en liten pilotgrupp, vänta minst 24 timmar och granska felrapporter, innan du går vidare till en bredare grupp och slutligen hela organisationen. Det här mönstret, som många stora IT-avdelningar redan använder för Windows-uppdateringar generellt, fångar upp kompatibilitetsproblem innan de blir ett organisationsbrett problem.

Koppla ihop kontrollskriptet från steg 7 med ett larmsystem. Istället för att bara exportera till CSV, lägg till en kontroll som skickar en Teams- eller Slack-notis om andelen opatchade maskiner i en given ring överstiger en bestämd gräns efter 72 timmar. Det gör att avvikelser upptäcks samma dag istället för vid nästa manuella granskning.

Bygg också in en koppling mot CISA:s KEV-katalog i din interna process, så att varje ny post som berör Windows automatiskt flaggas för granskning inom 24 timmar, oavsett vilket CVSS-värde den har. Eftersom CVE-2026-96951 visar att aktivt utnyttjade brister inte alltid har de högsta poängen, är ett rent CVSS-baserat filter otillräckligt på egen hand.

Slutligen, dokumentera avvikelser från patchfönstret som en del av din NIS2-relaterade incidentberedskap. Om ett system inte kan patchas inom den normala tidsramen på grund av affärskritiska skäl, registrera det som en tillfällig riskacceptans med ett specifikt omprövningsdatum, istället för att låta undantaget bli permanent av misstag.

Om din organisation redan har ett SIEM-system på plats, till exempel Microsoft Sentinel eller ett motsvarande verktyg, är det värt att skicka resultaten från kontrollskriptet dit istället för att bara spara dem lokalt som CSV-filer. Det gör det möjligt att korrelera patchstatus med faktisk inloggningsaktivitet och nätverkstrafik, vilket ger en tydligare bild av om ett opatchat system också visar tecken på att redan ha blivit utnyttjat. En enkel Invoke-RestMethod-anropet i slutet av kontrollskriptet räcker ofta för att skicka resultatet vidare till en logginsamlingspunkt via ett webhook-baserat gränssnitt.

Komplett arbetsflöde: från upptäckt till verifierad patchning

Sätter du ihop alla steg ovan får du ett sammanhängande, repeterbart projekt som du kan använda för varje större Windows-patchomgång framöver, inte bara för CVE-2026-96951. Så ser det fullständiga flödet ut i praktiken:

  1. Kartlägg build-nummer för alla system med Get-ComputerInfo och exportera till CSV
  2. Kontrollera installerade KB-uppdateringar med Get-HotFix
  3. Säkerställ att PowerShell 7.4 eller senare finns på hanteringsmaskinen
  4. Installera oktoberuppdateringen via Windows Update, WSUS eller Microsoft Update Catalog beroende på miljö
  5. Starta om och verifiera att rätt KB-nummer nu finns installerat
  6. Testa Zone.Identifier-flödet och SmartScreen-beteendet manuellt på minst ett system per ring
  7. Kör det automatiserade kontrollskriptet mot hela flottan och samla resultaten i en central CSV-fil
  8. Prioritera kvarstående opatchade system efter exponering, inte bara CVSS
  9. Dokumentera resultat och eventuella undantag för revision och NIS2-efterlevnad
  10. Stärk kompletterande skydd som SmartScreen, AppLocker/WDAC och attackytereducering
  11. Schemalägg kontinuerlig veckovis bevakning med Aktivitetshanteraren
  12. Koppla processen till CISA:s KEV-katalog för framtida aktivt utnyttjade brister

Det här är inte ett engångsprojekt som avslutas när CVE-2026-96951 är patchad överallt. Samma flöde, med samma skript bara omdirigerade mot ett nytt KB-nummer, återanvänds nästa gång Microsoft eller någon annan leverantör släpper en brist som redan utnyttjas aktivt i det fria. Med tanke på att flera oberoende analyser av oktober- och septemberomgångarna 2026 beskriver dem som rekordstora i antal CVE:er, är det inte längre en ovanlig händelse utan det nya normalläget för Windows-administratörer.

Så skiljer sig CVE-2026-96951 från andra zero-days under 2026

Det är lätt att drunkna i CVE-nummer när man följer säkerhetsnyheter löpande, så här är en kort jämförelse mellan CVE-2026-96951 och några av de andra större bristerna i samma patchomgångar, baserad på rapporteringen från Qualys ThreatPROTECT och CrowdStrike.

BristKomponentPatchomgångAktivt utnyttjad vid release
CVE-2026-96951Windows Shell (Mark-of-the-Web)Oktober 2026Ja
CVE-2026-105016Microsoft QUICOktober 2026Nej, patchad proaktivt
CVE-2026-108131Active Directory Federation ServicesOktober 2026Nej, patchad proaktivt
CVE-2026-69845 / CVE-2026-72979Windows DHCP ServerSeptember 2026Nej, patchad proaktivt

Mönstret som sticker ut här är att CVE-2026-96951 inte nödvändigtvis har det högsta CVSS-värdet i tabellen, men är den enda posten som bekräftat utnyttjades aktivt vid releasetillfället enligt rapporteringen från Qualys ThreatPROTECT. Det bekräftar återigen varför riskbaserad prioritering, snarare än ren poängsortering, bör styra vilken ordning din organisation patchar i.

Skalan på oktoberomgången förtjänar ett eget stycke. Enligt säkerhetsanalysföretaget Brinqas genomgång var oktober 2026 den första Patch Tuesday-releasen i Microsofts historia som nådde fyrsiffrigt antal CVE:er, och samtidigt det fjärde rekordet på fem månader. Det är en kraftig ökning jämfört med tidigare år, och det betyder att prioriteringsarbetet som beskrivs i steg 8 inte är en engångsåtgärd utan ett permanent tillägg till patchrutinerna, oavsett om nästa stora brist heter CVE-2026-96951 eller något helt annat.

Hur CVE-2026-96951 hänger ihop med bredare leveranskedjerisker

Mark-of-the-Web-bypasser är särskilt intressanta eftersom de ofta utnyttjas i kombination med social manipulation snarare än rent tekniska attacker. En vanlig attackkedja börjar med ett nätfiske-mejl som lurar mottagaren att ladda ner en arkivfil, till exempel .zip eller .iso, som i sin tur innehåller en körbar fil eller ett makroaktiverat dokument. Normalt skulle MotW-flaggningen stoppa eller varna för den körbara filen inuti arkivet. Med en bypass som CVE-2026-96951 försvinner den sista varningsskärmen, vilket gör att hela kedjan glider igenom obemärkt.

Det är också skälet till att den här typen av brist ofta dyker upp i rapporter om leveranskedjeattacker och ransomware-incidenter, eftersom en lyckad första körning av skadlig kod på en enda arbetsstation ofta är det första steget mot en fullskalig intrångskedja. Att stänga MotW-bypassen handlar därför inte bara om att följa Patch Tuesday, utan om att stänga en av de vanligaste ingångspunkterna för större säkerhetsincidenter. Kompletterande läsning om hur den här typen av sårbarheter rangordnas globalt finns i CISA:s katalog över kända aktivt utnyttjade sårbarheter, som är samma princip som ligger bakom vår guide till CISA KEV-patchhantering.

Den här typen av aktivt utnyttjad Windows-brist skiljer sig i karaktär från till exempel CVE-2026-68820, som drabbade Windows i augusti 2026, men mönstret är det samma: en deadline sätts, en patch släpps, och organisationer som inte agerar snabbt blir måltavlor. Samma sak gällde för septembers Patch Tuesday-release, som också innehöll flera aktivt utnyttjade brister.

Om du vill automatisera bevakningen av nya CVE:er mot CISA:s KEV-katalog i större skala, snarare än att göra det manuellt varje vecka, är det värt att läsa vår guide om att skanna efter CVE och CISA KEV med Nuclei, som kompletterar PowerShell-flödet i den här artikeln med kontinuerlig nätverksskanning. Har din organisation ännu inte en formell process för att ta emot och hantera sårbarhetsrapporter, är vår guide till en Vulnerability Disclosure Policy mot CERT-SE ett naturligt nästa steg efter att den här patchningen är klar.

Vanliga frågor om CVE-2026-96951 och Mark-of-the-Web-patchning

Vad är skillnaden mellan CVE-2026-96951 och en vanlig buggfix?

En vanlig buggfix åtgärdar ett fel i programmets funktion. CVE-2026-96951 är en säkerhetsbrist som gör det möjligt att kringgå ett skyddslager, Mark-of-the-Web, som normalt varnar eller blockerar filer från internet. Skillnaden är att en vanlig buggfix sällan utnyttjas aktivt av angripare, medan denna brist enligt rapporteringen redan var det vid release.

Räcker det att installera Windows Update automatiskt utan att göra något manuellt?

För enstaka privata datorer, ja, i de allra flesta fall. För en organisation räcker det inte, eftersom automatiska uppdateringar kan misslyckas tyst på enskilda maskiner, strandas bakom WSUS-godkännanden, eller blockeras av gruppolicy. Det är precis det som kontrollskriptet i steg 7 är till för att fånga upp.

Kan jag använda samma metod för att verifiera andra Mark-of-the-Web-brister i framtiden?

Ja. Zone.Identifier-testet i steg 6 och kontrollskriptet i steg 7 är generiska och fungerar för att verifiera MotW-beteende oavsett vilket specifikt CVE-nummer som ligger bakom nästa brist. Du behöver bara byta ut KB-numret i parametern när en ny patch släpps.

Påverkar den här bristen även Windows 10?

Kontrollera alltid Microsofts Security Update Guide för den exakta listan av berörda produkter, eftersom den uppdateras löpande. Generellt gäller att om Windows 10 fortfarande får säkerhetsuppdateringar i din licensmodell, till exempel via Extended Security Updates, bör du behandla den på samma sätt som Windows 11 i denna guide.

Behöver jag starta om servern direkt efter installation, eller kan det vänta till natten?

För kritiska servrar är det rimligt att vänta till ett planerat underhållsfönster, så länge det sker inom den tidsram som anges i prioriteringstabellen i steg 8. Tänk dock på att patchen inte är fullt aktiv förrän omstarten skett, så systemet förblir sårbart tills då.

Fungerar kontrollskriptet även på Windows Server 2025?

Ja, skriptet i steg 7 bygger på cmdlets som finns tillgängliga på både Windows 11 och Windows Server 2025. Kör det med samma parameterstruktur, bara med ett KB-nummer som matchar din servers specifika uppdatering.

Vad gör jag om jag inte kan patcha ett system omedelbart?

Inför kompletterande kontroller omedelbart, som beskrivs i steg 10: aktivera SmartScreen, skärp AppLocker/WDAC-regler, och begränsa filtyper i e-postgatewayen. Dokumentera undantaget med ett tydligt omprövningsdatum, istället för att låta det stå öppet på obestämd tid.

Vad gör jag om min organisation inte använder WSUS eller Configuration Manager alls?

Mindre organisationer utan central patchhantering kan fortfarande följa samma grundprinciper manuellt. Windows Update för företag (Windows Update for Business) via grupprincip eller Intune är ett lättare alternativ som fortfarande ger kontroll över utrullningsringar och tidsfönster, utan att kräva en fullständig WSUS-installation. Kontrollskriptet i steg 7 fungerar oavsett vilken distributionsmetod som används, eftersom det bara läser av patchstatus lokalt på varje maskin snarare än att bero på en specifik hanteringsplattform.