LSASS memory‑leak nei Domain Controller: patch di aprile 2024, fix fuori‑banda e percorso di mitigazione

Un bug nei Domain Controller Windows di marzo/aprile 2024 ha causato un leak di memoria in LSASS.exe con riavvii improvvisi. Il cumulativo del 9 aprile 2024 non include la correzione: serve l’OOB del 25 marzo o, in alternativa, passare direttamente ai cumulativi di giugno 2024 (o successivi).

Indice

Quesito

Gli aggiornamenti cumulativi pubblicati il 9 aprile 2024 includono già la correzione fuori‑banda che risolve il leak di memoria di LSASS.exe (responsabile di riavvii improvvisi dei Domain Controller)?

Risposta breve: No. I cumulativi del Patch Tuesday del 9 aprile 2024 non incorporano la fix per il memory‑leak di LSASS.exe sui Domain Controller. La correzione è stata rilasciata fuori‑banda il 25 marzo 2024 e va installata separatamente su Windows Server interessati, oppure va applicato un cumulativo successivo (ad es. 11 giugno 2024 o oltre) che la include stabilmente.

Risultato emerso

  • Il cumulativo del 9 aprile 2024 (KB 5036894 e omologhi per le varie edizioni) non contiene la fix LSASS né la menziona nelle note di rilascio.
  • La correzione resta quella fuori‑banda del 25 marzo 2024, da installare a parte sui Domain Controller interessati.
Versione Windows ServerKB OOB del 25/03/2024Note
Windows Server 2022KB 5037422Fix out‑of‑band per il leak di LSASS su DC.
Windows Server 2019KB 5037425Fix out‑of‑band per il leak di LSASS su DC.
Windows Server 2016KB 5037423Fix out‑of‑band per il leak di LSASS su DC.
Windows Server 2012 R2KB 5037426Disponibile per ambienti con idoneità/ESU.
  • Se il server ha già applicato le patch del 9 aprile 2024, in molti casi gli OOB di marzo potrebbero non installarsi per problemi di dipendenze/precedenze. È stato segnalato l’arrivo di pacchetti compatibili nelle settimane successive (poi superati dai cumulativi di maggio/giugno 2024).
  • La fix è stata inclusa stabilmente nei cumulativi successivi: ad esempio nel Patch Tuesday dell’11 giugno 2024, che indica la risoluzione del memory‑leak LSASS scatenato dagli update di marzo/aprile.

Percorso di mitigazione consigliato

Server non ancora patchati ad aprile 2024

  1. Opzione A (consigliata): saltare direttamente a un cumulativo che include la correzione (giugno 2024 o successivi).
  2. Opzione B: installare prima il relativo KB 503742x OOB del 25/03/2024 (in base alla versione) e poi proseguire con il normale ciclo patch.

Server già patchati il 9 aprile 2024

  1. Pianificare la distribuzione dei cumulativi di maggio/giugno 2024 (o dell’eventuale OOB specifico compatibile) che incorporano la fix.
  2. Verificare l’esito con gli strumenti di inventario patch (es. Get-HotFix / wmic qfe list) cercando KB503742x o un cumulativo successivo.

Che cosa provoca il bug (sintomi tecnici)

Il problema si manifesta con una crescita costante della memoria privata di LSASS.exe nel tempo, tipicamente nell’ordine di ~1–2 GB/ora in ambienti attivi. Quando il processo raggiunge soglie critiche, va in crash e il Domain Controller si riavvia automaticamente. Gli impatti principali:

  • Interruzioni di autenticazione Kerberos.
  • Possibili problemi su LDAP, NTLM fallback, e servizi dipendenti da AD DS.
  • Fail di logon interattivi e di servizio durante il riavvio del DC.

Indicatori nei log

  • Eventi di Application Error per lsass.exe e riavvio di sistema conseguente.
  • Eventi di Directory‑Services e Kerberos‑Key‑Distribution‑Center con errori transitori attorno al crash.
  • Eventi di USER32/Kernal‑Power relativi allo shutdown/restart non pianificato.

Come verificare se la fix è presente

Usare PowerShell o riga di comando per interrogare gli aggiornamenti installati su ciascun DC.

PowerShell

# Verifica puntuale su un server
Get-HotFix | Where-Object { $_.HotFixID -match 'KB5037422|KB5037423|KB5037425|KB5037426' } | Format-Table -Auto

Verifica cumulativi successivi (giugno 2024 in poi) per Windows Server 2022/2019/2016/2012 R2

Get-HotFix | Where-Object { $_.InstalledOn -ge (Get-Date '2024-06-01') } | Sort-Object InstalledOn -Descending | Select-Object -First 10 | Format-Table -Auto 

WMIC / riga di comando

wmic qfe list full | findstr /I "KB5037422 KB5037423 KB5037425 KB5037426"

Verifica remota su tutti i DC del dominio

# Richiede RSAT/ActiveDirectory
$DCs = (Get-ADDomainController -Filter *).HostName
Invoke-Command -ComputerName $DCs -ScriptBlock {
  $oob = 'KB5037422','KB5037423','KB5037425','KB5037426'
  $hits = Get-HotFix | Where-Object { $oob -contains $_.HotFixID }
  [PSCustomObject]@{
    ComputerName = $env:COMPUTERNAME
    Has_OOB      = [bool]$hits
    OOB_List     = ($hits | Select-Object -ExpandProperty HotFixID) -join ','
    LastCUs      = (Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5 | ForEach-Object HotFixID) -join ','
  }
} | Format-Table -Auto

Monitorare e diagnosticare il leak

Per confermare il problema prima della fix, è utile osservare l’allocazione di memoria di LSASS.exe nel tempo.

Performance Monitor (PerfMon)

  • Oggetto: Process (istanza: lsass).
  • Contatori: Private Bytes, Working Set, Handle Count.
  • Pattern: trend costante verso l’alto, senza stabilizzazione.

Raccolta con PowerShell

$log = "C:\Temp\lsassmemlog.csv"
"Timestamp,PrivateBytes,WorkingSet" | Out-File $log -Encoding utf8
1..180 | ForEach-Object {
  $p = Get-Process -Name lsass -ErrorAction SilentlyContinue
  if ($p) {
    "{0},{1},{2}" -f (Get-Date), $p.PrivateMemorySize64, $p.WorkingSet64 |
      Out-File $log -Append -Encoding utf8
  }
  Start-Sleep -Seconds 60
}
Write-Host "Log scritto in $log"

Un incremento di centinaia di MB ogni pochi minuti è tipico del problema osservato a marzo/aprile 2024.

Strategia di aggiornamento consigliata per i Domain Controller

Approccio a ring

  1. Ring 0 (pilota): 1 DC per sito secondario o un RODC non mission‑critical.
  2. Ring 1: resto dei DC nei siti meno critici.
  3. Ring 2: DC primari nei siti core (HQ/Datacenter).

Checklist pre‑patch

  • Replicazione AD: Repadmin /replsummary & dcdiag /v devono risultare puliti.
  • Backup di sistema recente e test di ripristino dell’Active Directory System State.
  • Finestra di manutenzione con comunicazione a team e utenti.
  • Controllo spazio disco e integrità dei NTDS/SYSVOL.

Sequenza operativa

  1. Applicare l’OOB del 25/03/2024 corrispondente oppure installare direttamente il cumulativo di giugno 2024 (o successivo).
  2. Riavviare il DC (obbligatorio per la fix).
  3. Verificare: Get-HotFix, Repadmin /showrepl, autenticazioni client/casistiche kerberos (es. logon, mount CIFS, accesso a servizi).
  4. Monitorare LSASS.exe per almeno 24 ore; il profilo di memoria deve stabilizzarsi.

Runbook di emergenza (se il DC entra in loop di riavvii)

  1. Rimuovere temporaneamente il DC dal DNS SRV (o mettere in maintenance nel load balancing dei servizi LDAP se presente) per ridurre nuove autenticazioni.
  2. Applicare la fix (OOB o cumulativo di giugno+) e riavviare.
  3. Controllare integrità NTDS e coda di replicazione. Se necessario forzare Repadmin /syncall.
  4. Ripristinare i record DNS SRV e i site link una volta stabilizzato.

Domande frequenti (FAQ)

Il problema riguarda solo i Domain Controller?

Sì, principalmente. Il leak si è manifestato sui DC poiché LSASS.exe gestisce autenticazioni e ruoli di KDC/LDAP in modo intensivo. I server membri in genere non sono interessati.

Devo patchare tutti i DC?

. Anche se un singolo DC “buono” può reggere una parte del carico, è fondamentale che tutti i Domain Controller ricevano la correzione per evitare impatti imprevisti e ribilanciamenti DNS/Site che riportano i client verso un DC non corretto.

È necessario riavviare dopo l’OOB o il cumulativo che include la fix?

Sempre. Le patch che intervengono su componenti di sistema e su LSASS.exe richiedono un riavvio per entrare in vigore.

Posso disinstallare gli aggiornamenti di marzo/aprile per fermare il leak?

È una strada non consigliata per i DC, perché può esporre a regressioni o vulnerabilità già coperte. La soluzione corretta è installare l’OOB del 25/03 o passare a giugno 2024+.

Come verifico rapidamente l’inventario della fix in un dominio grande?

Usa uno script PowerShell centralizzato che interroga tutti i DC (vedi esempio sopra) e produci un CSV con stato Has_OOB/LastCUs. Integra il controllo in CI/CD o nel sistema di patch management (SCCM/MECM, WSUS, Intune o equivalenti).

Esempi pratici di convalida post‑patch

Test di autenticazione Kerberos

# Creazione ticket e validazione SPN
klist purge
kinit <utente@DOMINIO>
klist

Verifica che i ticket si rilascino correttamente e che non compaiano errori di KDC. In ambienti Windows, controlla anche logon su workstation e accesso a share SMB con account di test.

LDAP bind e query

# Esempio con ADSI (bind semplice)
$root = [ADSI]"LDAP://RootDSE"
$root.defaultNamingContext

Controllo replicazione e salute del DC

dcdiag /v
repadmin /replsummary
repadmin /showrepl * /csv > C:\Temp\replica.csv

Tabella riassuntiva

ScenarioAzione raccomandataNote operative
DC non patchati ad aprile 2024Installare OOB 25/03/2024 appropriato oppure passare direttamente a giugno 2024+Preferire salto diretto a un cumulativo che include la fix.
DC già patchati il 9 aprile 2024Distribuire cumulativi di maggio/giugno 2024 (o OOB compatibile)Verificare con Get-HotFix o inventario patch.
Leak in corso (riavvii)Applicare fix, riavvio, monitoraggio LSASSRidurre esposizione DNS SRV durante il ripristino.
Ambiente misto (2012 R2/2016/2019/2022)Applicare il relativo OOB per versione o cumulativo giugno+Attenzione ai prerequisiti/ESU per 2012 R2.

Timeline dell’incidente e della correzione

  • Marzo 2024 — Aggiornamenti mensili introducono un regression bug che in determinati contesti fa crescere la memoria di LSASS.exe sui DC.
  • 25 marzo 2024 — Microsoft rilascia OOB specifici per Windows Server 2012 R2/2016/2019/2022 (KB 5037426/23/25/22).
  • 9 aprile 2024 — Patch Tuesday: i cumulativi di aprile non includono la fix.
  • Maggio 2024 — Pacchetti compatibili/OOB aggiornati e poi, soprattutto, cumulativi successivi che integrano la correzione.
  • 11 giugno 2024 — Patch Tuesday: la fix LSASS è inclusa nei cumulativi e diventa parte del canale standard.

Raccomandazioni finali

  • Non rimanere su aprile 2024: migrare a un cumulativo di giugno 2024 o successivo su tutti i DC.
  • Dove necessario, usare gli OOB del 25/03/2024 per mitigare subito, pianificando poi il passaggio al canale regolare.
  • Integrare controlli automatici su patch e memoria LSASS nei runbook e negli strumenti di monitoring.
  • Mantenere una finestra di osservazione post‑patch di almeno 24–48 ore con soglie su Private Bytes/Working Set.

Checklist pronta all’uso

  1. Identifica i DC e la loro versione di Windows Server.
  2. Controlla con Get-HotFix la presenza di KB503742x o di un cumulativo giugno 2024+.
  3. Applica l’OOB o il cumulativo idoneo; riavvia.
  4. Monitora LSASS.exe (Private Bytes, Working Set, Handle Count).
  5. Valida Kerberos/LDAP, replicazione, accesso a risorse.
  6. Documenta e automatizza i controlli per cicli patch futuri.

Conclusioni

Il memory‑leak di LSASS.exe emerso a marzo/aprile 2024 ha messo in luce quanto sia importante gestire i Domain Controller con un processo di patching disciplinato e dotato di monitoraggio continuo. La fix fuori‑banda del 25 marzo 2024 ha risolto l’emergenza nell’immediato; a regime, i cumulativi di giugno 2024 (e successivi) incorporano la correzione e offrono la via più semplice e pulita per normalizzare l’ambiente. Se oggi incontri ancora i sintomi descritti (crescita costante della memoria LSASS e riavvii del DC), la priorità è aggiornare i server allineandoli al canale cumulativo che contiene la fix e verificare con gli strumenti indicati che l’anomalia non si ripresenti.


Indice