CVE-2021-35464 · Bilgilendirme

ForgeRock Access Management (AM) Core Server Remote Code Execution Vulnerability

CVE-2021-35464 zafiyeti, ForgeRock AM'de özel HTTP istekleriyle kod çalıştırma riski taşır.

Üretici
ForgeRock
Ürün
Access Management (AM)
Seviye
yüksek
Yayın Tarihi
05 Nisan 2026
Okuma
8 dk okuma

CVE-2021-35464: ForgeRock Access Management (AM) Core Server Remote Code Execution Vulnerability

Zorluk Seviyesi: Orta | Kaynak: CISA KEV

Zafiyet Analizi ve Giriş

CVE-2021-35464, ForgeRock Access Management (AM) Core Server üzerinde ciddi bir uzaktan kod yürütme (RCE - Remote Code Execution) zafiyeti olarak dikkat çekmektedir. Bu zafiyet, kötü niyetli bir saldırganın belirli HTTP isteklerini kullanarak, kullanıcı bağlamında kod çalıştırmasına olanak tanımaktadır. Zafiyetin meydana geldiği üç ana uç nokta (endpoint) bulunmaktadır: /ccversion/Version, /ccversion/Masthead ve /ccversion/ButtonFrame. ForgeRock'un önerisiz bir şekilde root (kök) kullanıcısı olarak çalıştırılması durumunda ise bu zafiyetin etkileri daha da korkutucu hale gelmektedir.

Zafiyetin arkasındaki teknik sorun, ForgeRock AM'nin çeşitli bileşenlerinin birbirleriyle etkileşimi sırasında ortaya çıkan bir hata olarak öne çıkmaktadır. CWE (Common Weakness Enumeration) içerisinde bu zafiyet CWE-502 kodu ile tanımlanmaktadır. Bu zafiyet, yanlış yapılandırmalar veya güncel tutulmayan Yazılım Geliştirme Kitleri (SDK) gibi nedenlerle de tetiklenebilir. RCE zafiyetleri, bir saldırgana sistem üzerinde kontrol sağlama imkanı tanıdığı için ciddi tehditler oluşturur.

Örnek bir senaryoda, bir kötü niyetli kullanıcı, ForgeRock AM’nin bir web uygulamasındaki tanınmış açık uç noktalarından birine özel olarak oluşturulmuş bir HTTP isteği gönderdiğinde, bu istek içerisindeki zararlı kodu çalıştırabilir. Örneğin, bir kullanıcı uzaktan sistemin veri tabanına erişim sağlamak isterse, bu zafiyet aracılığıyla kullanıcı kimlik bilgilerini çalabilir veya veri üzerinde değişiklikler yapabilir. Şirketler, genellikle bu tür saldırılara karşı savunmasızdır çünkü zafiyetin farkında olmadıkları için gerekli güncellemeleri ve yamaları uygulamayı ihmal edebilirler.

Dünya genelinde birçok sektör, ForgeRock AM ürününü aktif olarak kullanmaktadır. Bu sektörler arasında finans, sağlık hizmetleri ve kamu hizmetleri gibi yüksek güvenlik gereksinimlerine sahip alanlar bulunmaktadır. Özellikle finans sektörü, müşteri verilerinin gizliliği ve güvenliği nedeniyle bu tür zafiyetlere karşı oldukça hassas bir konumda yer almaktadır. Dolayısıyla, bir RCE zafiyeti ortaya çıktığında, bunun potansiyel yasal, finansal ve itibar kaybı gibi ciddi sonuçları olabilir.

Saldırıların önlenmesi için, sistem yöneticileri ve geliştiricilerin aşağıdaki önlemleri almaları gerekmektedir:

  1. Yazılım güncellemelerinin düzenli olarak takip edilmesi ve uygulaması.
  2. Uygulama sunucularının sıkı bir güvenlik kontrol listesine tabi tutulması.
  3. Uzaktan erişim protokollerinin sıkı denetime alınması ve mümkünse kısıtlanması.
  4. Geliştiricilerin güvenlik fazlasıyla ilgili en iyi uygulamaları takip etmeleri ve kod incelemelerini düzenli olarak gerçekleştirmeleri (Code Review).

Sonuç olarak, CVE-2021-35464 gibi zafiyetler, modern uygulamalarda güvenlik risklerini artıran her zaman dikkatlice ele alınması gereken konulardır. Bilgi güvenliği profesyonellerinin, bu tür zafiyetleri önlemek ve siber tehditlere karşı dayanıklılığı artırmak için eksiksiz bir strateji geliştirmeleri gerekmektedir.

Teknik Sömürü (Exploitation) ve PoC

ForgeRock Access Management (AM) Core Server'da CVE-2021-35464 zafiyeti, kötü niyetli bir saldırganın, belirli HTTP isteklerini kullanarak uzaktan kod çalıştırmasına (RCE) olanak tanır. Bu tür zafiyetler, siber güvenlik alanında özellikle endişe verici olup, güvenlik bilgisi olmayan bir kullanıcının bile sistemde ciddi hasar yaratmasına yol açabilir. Şimdi, bu zafiyetin nasıl sömürülebileceğine dair adım adım bir teknik yaklaşım sunacağım.

Öncelikle, bu zafiyeti istismar etmek isteyen bir saldırganın, ForgeRock AM'nin çalışan bir sunucusuna erişime sahip olması gerekir. Zafiyet, /ccversion/Version, /ccversion/Masthead veya /ccversion/ButtonFrame uç noktalarına (endpoints) özel HTTP istekleri gönderilmesiyle gerçekleşir. Bu nedenle, ilk adım olarak hedef sistemin bu uç noktalarının erişilebilir olduğundan emin olunmalıdır.

Bunun için aşağıdaki HTTP istekleri kullanılabilir:

GET /ccversion/Version HTTP/1.1
Host: hedef-sunucu

Eğer sunucu belirli bir zayıflıktan etkileniyorsa, bu istek alındığında akış, kötü amaçlı kod çalıştırma kapasitesine sahip olabilmektedir.

İkinci adımda, isteklerinizi şekillendirmek için gerekli payload’ları oluşturmalısınız. Payload, hedef sistemin yanıtından yararlanarak, hedefte sızma (exploitation) sağlayacaktır. Kötü niyetli bir kodu yüklemek için aşağıdaki Python betiği kullanılabilir:

import requests

url = 'http://hedef-sunucu/ccversion/Version'
payload = 'YOUR_PAYLOAD_HERE'  # Özel kötü amaçlı yükünüzü buraya ekleyin.

response = requests.get(url, data=payload)

print(response.text)

Bu noktada, "YOUR_PAYLOAD_HERE" kısmına istediğiniz uzaktan çalıştırılabilir kodu yerleştirebilirsiniz. Bu, genellikle bir web shell veya belirli komutları çalıştıracak bir script olabilir. Örnek bir payload için şöyle bir şey düşünebilirsiniz:

payload = '"; import os; os.system("your_command_here"); #'

Üçüncü adımda, sunucudan alınan yanıtı gözlemlemek gerekmektedir. Eğer istek başarılı olmuşsa, sunucudan bir yanıt almayı bekleyebilirsiniz. Başarılı bir sömürü ile hedef sunucudaki komut çalıştırma yeteneğine sahip olacaksınız.

Son olarak, elde edilen izinlerin kötüye kullanılmaması için bu tür çalışmaların sadece etik penetrasyon testleri çerçevesinde, izinli kullanıcılarla gerçekleştirilmesi gerektiği unutulmamalıdır. Bu tür zafiyetler, genellikle sistem yöneticilerinin ve güvenlik uzmanlarının dikkat etmesi gereken ciddi açıklar arasında yer alır. Zafiyetin tespit edilmesi durumunda, acil olarak güncellemeler uygulanmalı ve sistemin mevcut durumu gözden geçirilmelidir. Unutmayın ki, siber güvenlik dünyasında sürekli olarak güncel kalmak, öncelikli hedef olmalıdır.

Forensics (Adli Bilişim) ve Log Analizi

ForgeRock Access Management (AM) Core Server üzerinde CVE-2021-35464 zafiyeti, kötü niyetli bir kullanıcının belirli HTTP istekleri ile sunucu üzerinde uzaktan kod çalıştırmasına (RCE - Remote Code Execution) olanak tanımaktadır. Bu durum, siber güvenlik alanında ciddi sonuçlara yol açabilecek bir tehdittir. Bu makalede, siber güvenlik uzmanlarının bu tür bir saldırıyı tespit edebilmesi için neler yapması gerektiği ve hangi log dosyalarına bakması gerektiği üzerinde duracağız.

Bir saldırının izlerini bulmak, siber yasal süreçlerin en kritik parçalarından biridir. Özellikle ForgeRock AM üzerinde CVE-2021-35464 zafiyetinin kullanılması durumunda, log analizi ile bu saldırıyı tanımlamak mümkündür. Öncelikle, log dosyalarının nasıl yapılandırıldığı ve hangi verilerin kaydedildiği hakkında bilgi sahibi olmak önemlidir. Access log ve error log, bir saldırının izlerini bulmak için en kritik dosyalardır.

İlk adım, Access log dosyasında (erişim kaydı) belirli HTTP isteklerini incelemektir. Saldırgan, CVE-2021-35464 zafiyetini kullanmak için /ccversion/Version, /ccversion/Masthead veya /ccversion/ButtonFrame gibi spesifik endpoint'lere istemde bulunacaktır. Bu nedenle, bu endpoint’lere yapılan tüm HTTP isteklerini izlemek gereklidir.

İlgili log kayıtlarını tararken, aşağıdaki gibi imzalara (signature) dikkat edilmelidir:

  1. Özelleştirilmiş HTTP Başlıkları: Saldırganlar genellikle isteklerine belirli başlıklar eklerler. Bu başlıklar, sunucunun yanıtını manipüle etme amacı güdebilir. Özel kullanıcı ajanları veya eksik veya yanlış Content-Type başlıkları, saldırının bir işareti olabilir.

  2. Anormal HTTP Yöntemleri: Normalde kullanılan GET veya POST yöntemlerinin dışında, anormal istek yöntemleri (örneğin, PUT ya da DELETE) kullanımı da dikkat çekicidir. İstemcinin beklenmeyen HTTP yöntemleri göndermesi, bir saldırıyı işaret edebilir.

  3. Kötü Amaçlı Payload’lar: Log dosyalarında bulunabilecek, özellikle bir içerik veya komut içeren istekler, siber saldırıların izlerini taşıyabilir. Örneğin, bir GET isteği içinde kötü amaçlı bir komut veya belirli bir araç tarafından oluşturulmuş bir script bulmak, potansiyel bir saldırıyı ortaya koyabilir.

192.168.1.1 - - [01/Jan/2021:12:00:00 +0000] "GET /ccversion/Version HTTP/1.1" 200 569 "..."
192.168.1.1 - - [01/Jan/2021:12:00:02 +0000] "POST /ccversion/Masthead HTTP/1.1" 200 852 "..."

Error log’larda ise, beklenmeyen hatalar ve istisnalar, kötü niyetli bir girişimin saptanmasına yardımcı olabilir. Örneğin, sunucunun kendini korumaya çalışırken kaydettiği hatalar, saldırıya dair önemli ipuçları sağlayabilir. Bu hatalar arasında 403 Forbidden veya 500 Internal Server Error gibi hatalar yer alır.

2021-01-01 12:00:00 Error: Invalid request to /ccversion/ButtonFrame: execution failed.

Log analizi, saldırıların tespitinde çok önemli bir rol oynar. Özellikle şüpheli aktiviteleri ve anormallikleri tespit eden koruyucu araçlar kullanmak, bir siber güvenlik uzmanının işini kolaylaştırabilir. Geliştirilen SIEM (Security Information and Event Management - Güvenlik Bilgisi ve Olay Yönetimi) sistemleri, bu tür anormallikleri tespit etmeye yardımcı olacak şekilde yapılandırılmalıdır.

Sonuç olarak, ForgeRock AM üzerindeki CVE-2021-35464 zafiyeti, siber güvenlik açısından ciddi bir tehdit oluşturur. Log analizi yaparak saldırıların izlerini bulmak, bu tür zafiyetlere karşı etkili bir savunma önemli bir adımdır. Siber güvenlik uzmanları, log dosyalarını sürekli izlemeli ve şüpheli aktiviteleri anında tespit edebilmek için gerekli yapılandırmaları yapmalıdır.

Savunma ve Sıkılaştırma (Hardening)

ForgeRock Access Management (AM) Core Server üzerindeki CVE-2021-35464 zafiyeti, uzaktan kod yürütme (RCE) işlemlerine olanak tanıması nedeniyle hem kullanıcılar hem de sistem yöneticileri için ciddi bir tehdit oluşturmaktadır. Bu zafiyetin temelinde, yalnızca belirli HTTP isteklerine yanıt olarak kod çalıştırılması bulunuyor. Bu bağlamda, siber güvenlik uzmanları olarak sistem güvenliğini artırmak için uygulanabilir önlemler almak kritik önem taşır.

Zafiyetin teknik detaylarına girmeden önce, bu tür bir zafiyetin nasıl istismar edilebileceğini anlamak önemlidir. Örneğin, bir saldırgan, ForgeRock AM Core Server'a aşağıdaki gibi özel bir HTTP isteği gönderebilir:

GET /ccversion/Version HTTP/1.1
Host: hedef_sunucu

Bu tür bir istek, uygun bir yanıt almaları durumunda, saldırganın kod çalıştırmasına neden olabilir. Özellikle, sistemin kök kullanıcı (root) hesabıyla çalışmaması gerektiği hatırlatılmalıdır, çünkü bu durum zafiyeti istismar eden bir saldırganın etki alanını oldukça genişletebilir.

Zafiyeti kapatmanın yolları arasında öncelikle üretici tarafından sağlanabilecek güvenlik güncellemelerinin uygulanması gelir. Böylece, bilinen zafiyetler için yamalar yüklenerek risk faktörü azaltılır. Ayrıca, alternatif bir Firewall (WAF) mekanizması kullanarak belirli HTTP isteklerini filtrelemek önemlidir. Örnek bir WAF kuralı aşağıdaki biçimde olabilir:

SecRule REQUEST_URI "@streq /ccversion/Version" "id:1000001,phase:1,deny,status:403,msg:'Blocked CVE-2021-35464 Attempt'"

Bu kural, belirtilen URI'ye gelen istekleri tespit ederek, istenmeyen trafiğin sisteminize ulaşmasını engeller.

Kalıcı sıkılaştırma (hardening) önerileri arasında öncelikle sıfırdan bir güvenlik değerlendirmesi yapmak gelir. Böylece sistemin hangi bileşenlerinin zayıf noktalar taşıdığı belirlenebilir. Aşağıda bu süreci destekleyecek bazı stratejiler sıralanmıştır:

  1. Kullanıcı Erişim Yönetimi: Kullanıcıların, yalnızca gerekli yetkilere sahip olmasını sağlamak için erişim kontrol listelerini (ACL) dikkatlice yapılandırın. Bunun yanı sıra, kök kullanıcı hesabının en az şekilde kullanılması gerektiğini belirtin.

  2. Güvenlik Güncellemeleri: Yazılım bileşenlerini güncel tutmak, bilinen zafiyetlere karşı koruma sağlar. Otomatik güncellemelerin yapılması için bir politika geliştirin.

  3. Ağ Segmentasyonu: Hedef sunucuların ve uygulamaların ağda izole edilmesi, bir saldırganın her şeye erişmesini engeller. Bu, bir katmanlı güvenlik yaklaşımını destekler.

  4. Log Yönetimi: Sistem günlüklerini (log) izlemek ve analiz etmek, potansiyel istismar girişimlerini erken tespit etmenizi sağlar. Anormallikleri otomatik olarak bildirecek bir sistem kurmak önemlidir.

  5. Dress Rehearsal (Deneme Çalışmaları): Gerçek dünya senaryolarını simüle eden güvenlik tatbikatları yapmak, siber saldırılara karşı hazırlıklı olmanızı sağlar. Potansiyel tehditlere karşı en iyi yanıtı vermek için takımlarınızı eğitin.

Sonuç olarak, CVE-2021-35464 zafiyetine karşı sisteminizin korunması için sadece bir güncelleme yapmak yeterli değildir; sıkılaştırma (hardening) önlemleri ve sürekli izleme gibi ek stratejiler de gereklidir. Bu sayede hem ForgeRock Access Management (AM) Core Server'ınızın güvenliğini artırabilir hem de olası siber saldırılar karşısında daha dayanıklı hale gelebilirsiniz.