Zafran Labs, konuşmaya dayalı yapay zeka uygulamaları oluşturmaya yönelik popüler bir açık kaynaklı çerçeve olan Chainlit’te iki kritik güvenlik açığını ortaya çıkardı.
Chainlit, aylık ortalama 700.000 PyPI indirmesiyle farklı sektörlerdeki kuruluşlarda internete yönelik yapay zeka sistemlerini güçlendiriyor.
CVE-2026-22218 (rastgele dosya okuma) ve CVE-2026-22219 (SSRF) kusurları, saldırganların kullanıcı etkileşimi olmadan API anahtarlarını, hassas dosyaları ve bulut kimlik bilgilerini çalmasına olanak tanır.
Zafran, yapay zeka altyapısı risklerini araştırmak için Project DarkSide’ı başlatarak büyük firmaların gerçek dünya sunucularındaki istismarı doğruladı.
Bu sorunlar Chainlit’in çekirdeğini etkiliyor: kullanıcı sohbetleri için kullanıcı arayüzü/ön uç katmanı ve LangChain, OpenAI ve AWS Bedrock gibi araçlarla yapay zeka düzenlemesi için arka uç.

Saldırganlar kimlik doğrulaması yapar ve ardından /project/element PUT uç noktası. Chainlit’in Element sınıfı, özel öğeleri yanlış yönetiyor, sunucu dosyalarını kopyalıyor veya uzak URL’leri körü körüne getiriyor.
Teknik Arıza ve Kullanım
CVE-2026-22218: Rasgele Dosya Okuma
Saldırganlar kontrollü bir şekilde özel bir öğe gönderir. path mülk. Chainlit’ler persist_file Sunucu tarafından okunabilen herhangi bir dosyayı, API aracılığıyla açığa çıkan saldırganın oturum dizinine kopyalar.
Hedefler şunları içerir: /proc/self/environ env için aşağıdaki gibi değişkenler var AWS_SECRET_KEY, CHAINLIT_AUTH_SECRET (jeton sahteciliği için) ve .chainlit/.langchain.db (LangChain kurulumlarında kiracılar arası istemlerin sızdırılması).
Kaynak kodu gibi app.py özel kancaları ortaya çıkarır; SQLite veritabanları kullanıcı sohbetlerinin dökümünü alır.
CVE-2026-22219: SSRF
SQLAlchemy veri katmanlarında, url özel bir öğede. Chainlit bunu aracılığıyla getiriyor aiohttpoluşturulan okuma URL’leri aracılığıyla içeriğin sızdırılması için saklanması. Sızan ortam değişkenlerinden dahili hizmetleri araştırmak için okunan dosyayla eşleşir veya /etc/hosts.
IMDSv1’li AWS EC2’de şuna basın: http://169.254.169.254/latest/meta-data/iam/security-credentials/ rol kredileri için kovalara, sırlara ve LLM’lere yanal hareket olanağı sağlar.
Zincir, sahte jetonlar yoluyla bir kimlik doğrulama atlaması ile başlar, bulutun ele geçirilmesine kadar yükselir. Oturum erişiminin ötesinde ayrıcalığa gerek yoktur.
Çok kiracılı kurulumlar, tüm kullanıcıların LLM istemlerini/yanıtlarını sızdırarak riskleri artırır.
| CVE | CVSS (tahmini) | Tip | Etkilenen Uç Nokta | Temel Hedefler |
|---|---|---|---|---|
| CVE-2026-22218 | 9.1 (Kritik) | Rastgele Dosya Okuma | PUT /proje/öğe (yol desteği) | /proc/self/environ, .langchain.db, app.py |
| CVE-2026-22219 | 8,8 (Yüksek) | SSRF | PUT /proje/öğe (url desteği) | Dahili API’ler, 169.254.169.254 (IMDSv1) |
IoC’ler
- Açıkta kalan Chainlit sunucuları: Tarayın
/chainlityollar veya WebSocket/ws8000/3000 bağlantı noktalarında. - Vuln sürümleri: <2.9.4 (“Chainlit” için başlıkları/Kullanıcı Aracısını kontrol edin).
- Trafik: PUT
/project/elementile{"type":"custom","path":"..."}veya{"type":"custom","url":"..."}. - Dosyalar:
.chainlit/.langchain.dbiçeren env sızıntılarıCHAINLIT_AUTH_SECRET. - Zafran Snort imzası:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"Chainleak - PUT /project/element"; content:"PUT"; http_method; content:"/project/element"; http_uri; depth:16;)

Azaltmalar
Hemen Chainlit 2.9.4’e yükseltin. Zafran’ın Bileşenler modülünü veya WAF kurallarını kullanın. IMDSv1’i engelleyin; En az ayrıcalıklı IAM’yi uygulayın. Açığa çıkan örnekleri Shodan/Censys aracılığıyla tarayın.
Project DarkSide, klasik kusurların bulut ihlallerine yol açtığı yapay zeka yığın risklerini, kullanıcı arayüzünü, aracıları, orkestrasyonu ve LLM’leri açığa çıkarıyor. Yapay zekanın benimsenmesi arttıkça, Chainlit gibi güvenli çerçeveler “karanlık taraf” saldırılarını engelliyor.
Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.