
Geçen hafta Exchange Server için paylaşılan CVE-2022-41040 zero-day, RCE (uzaktan kod çalıştırma) zincirinin bir parçası olarak kritik sınıflandırıldı. Microsoft henüz tam bir güvenlik güncellemesi yayımlamadan önce acil geçici çözümler (mitigations) sundu ilk başta manuel regex bloklama, sonrasında bu işlemi otomatikleştiren EOMTv2.ps1 script’i. İlk yayımlanan Regex bypass edildi; Microsoft ve GTSC tarafından regex birkaç kere güncellendi. Aşağıda kronolojik gelişme, doğrulama adımları ve hem manuel (IIS URL Rewrite) hem de script tabanlı uygulama rehberi bulunmaktadır.
İçindekiler
CVE-2022-41040 Arka Planı
- CVE: CVE-2022-41040
- Etkisi: Zero-day, RCE zincirinin bir parçası olarak kritik risk oluşturuyor.
- Microsoft yaklaşımı: Şu an için hızlı bir hotfix yerine geçici (mitigation) yöntemleri önerildi; daha sonra kalıcı güncelleme/patch yayınlanması bekleniyor.
CVE-2022-41040 Kronoloji ve Mitigation Tool v2
- İlk duyuru — Exchange için bir zero-day paylaşıldı; Microsoft acil olarak geçici çözüm uygulamasını önerdi
- Microsoft tarafından yayımlanan Exchange Server CVE-2022-41040 için İlk Regex (yayınlanan)
".*autodiscover.json.*@.*Powershell.*"
Bu kural, belirli autodiscover isteklerini tespit edip engellemeyi hedefliyordu.
- Bypass keşfi İlk regex bypass edildi; GTSC ve Microsoft yeni regex güncellemeleri yayınladı. (Not: Microsoft’un kılavuz dokümanları bazı noktalarda gecikmeli güncellenmiş olabilir.)
- EOMTv2 (Exchange On-Premises Mitigation Tool v2) Microsoft, manuel adımları otomatikleştiren
EOMTv2.ps1
script’ini yayımladı. Script, ilgili Regex’i sunucu üzerinde otomatik uygular. - EMMS (Emergency Mitigation Service) Eğer ortamınızda EMMS/EMMS Service aktif ise Microsoft kuralı otomatik olarak uygulamış olabilir; yönetilen dağıtımlarda koordinasyon Microsoft tarafından yapılmıştır.
- 07.10.2022 güncellemesi EOMTv2 üzerinden regex tekrar güncellendi. Güncellenmiş mitigation regex örneği:
(?=.*autodiscover)(?=.*powershell)
Exchange Server’da CVE-2022-41040 için Geçici Çözüm
- Microsoft EOMTv2.ps1 script’i: Her sunucu için regex’i otomatik ekler. Eğer PowerShell uzmanlığınız varsa script’i tüm sunuculara tek seferde uygulayabilirsiniz.
- Microsoft tarafından yapılan otomatik dağıtım Ortamınızda EMMS/EMMS Service aktifse Microsoft ilgili kuralı otomatik dağıtmış olabilir; önce doğrulamanız gerekebilir.
- Manuel (IIS üzerinde URL Rewrite ile) Aşağıdaki adımları kullanarak Default Web Site için Request Blocking kuralı ekleyin.

CVE-2022-41040 için Manuel IIS Çözümler
Aşağıdaki örnek, {UrlDecode:{REQUEST_URI}}
kullanılarak URL decode edilmiş isteğin regex ile kontrol edilmesini sağlar — özellikle URL encode edilmiş atak vektörlerini yakalamak için önemlidir.
- IIS Manager’ı açın.
- Default Web Site‘ı seçin.
- Feature View altında URL Rewrite‘a tıklayın.
- Sağ taraftaki Actions bölümünden Add Rule(s) seçin.
- Request Blocking seçeneğini işaretleyip OK‘e basın.
- Aşağıdaki regex’i ekleyin (tırnak işareti olmadan):
(?=.*autodiscover.json)(?=.*powershell)
(Not: EOMTv2 ve son güncellemeler farklı varyantlar kullanmış olabilir; ortamınıza göre **(?=.autodiscover)(?=.powershell) gibi daha geniş bir pattern tercih edilebilir.)
- Using altında Regular Expression’ı seçin.
- How to block altında Abort Request seçin ve OK’e tıklayın.
- Eklediğiniz kuralı genişletin; ilgili patterni seçip Edit → Conditions’a girin.
- Condition input değerini şu şekilde değiştirin:
{UrlDecode:{REQUEST_URI}}
- OK ile onaylayın.
- Kuralın aktif olduğunu doğrulayın ve IIS’i gerekiyorsa yeniden başlatın (normalde kural aktif olur, ama değişiklikleri test edin).
Exchange Server CVE-2022-41040 Çözüm Sonrası Doğrulama
- Geçici çözümü uygulamadan önce şu URL’yi bir tarayıcıya yapıştırın:
https://mail.cengizyilmaz.net/Autodiscover/autodiscover.json@PowerShell
- Bu adres size LOGIN penceresi göstermeliydi (ve/veya normal istek davranışı).
- Geçici çözümü uyguladıktan sonra aynı URL’yi çalıştırın. Çözüm başarılıysa hata sayfası (blocked/aborted) ile karşılaşmanız gerekir.
- EMMS uygulanmış ortamlar için IIS URL Rewrite yerine EMMS kural görünümünde (ör. EEMS M1.1 Powershell) kuralı kontrol edin.
- Sunucu loglarını, IIS request loglarını ve URL Rewrite trace’lerini kontrol ederek kuralın tetiklendiğini doğrulayın.
EMMS / EOMTv2 ile ilgili pratik notlar
- EOMTv2: Script ilgili Regex’i otomatik uygular; her Exchange sunucusu için çalıştırılmalıdır (ya da merkezi bir PowerShell yöntemiyle tüm sunuculara dağıtılabilir).
- EMMS: Eğer tenant/ortamınız EMMS tarafından korunuyorsa Microsoft kuralı sizin yerinize dağıtmış olabilir — önce bunu doğrulayın, çift uygulama çatışma yaratabilir.
- Script’i çalıştırmadan önce: script’in kaynağını doğrulayın, script’i inceleyin ve test ortamında çalıştırıp etkilerini kontrol edin.