CVE-2026-50180
Açıklama
Langroid, büyük dil modeli destekli uygulamalar oluşturmak için kullanılan bir çerçevedir. Versiyon 0.64.0 öncesinde, `langroid` içerisindeki `SQLChatAgent`, tehlikeli SQL primitiflerini belirli fonksiyon isimlerine göre listeleyen bir `_DANGEROUS_SQL_PATTERNS` regex engelleme listesine sahip olan bir `_validate_query` derinlemesine savunma katmanı ile sunulmaktadır. Bu liste; standart PostgreSQL dosya sistemi ifşa ailesi olan `pg_read_file()`, `pg_stat_file()`, `pg_ls_logdir()`, `pg_ls_waldir()`, `pg_current_logfile()` (ve aynı ailedeki benzer `SELECT` yapılı fonksiyonları) eksik bırakmıştır. Ayrıca SQL Server `OPENDATASOURCE` ve SQLite `ATTACH '<file>' AS x` (DATABASE anahtar kelimesi hariç) ifadelerini de engellenmemiş halde bırakmıştır. LLM tarafından üretilen SQL'i şekillendirebilen bir saldırgan (doğrudan istem girişi yoluyla veya LLM'nin aldığı verilerdeki istem enjeksiyonu aracılığıyla dolaylı olarak), ajanın katı varsayılan yapılandırmasında bile (`allow_dangerous_operations=False`, `allowed_statement_types=['SELECT']`), sıradan `SELECT` sorguları üzerinden PostgreSQL ana bilgisayarından rastgele dosyaları okuyabilir. Payload'lar ifade tipi izin listesinden geçer (her biri bir `SELECT` ifadesidir) ve regex engelleme listesini aşarak (fonksiyon isimlerinin hiçbiri eşleşmez), ardından `SQLChatAgent.run_query` aracılığıyla canlı SQLAlchemy motoruna ulaşır. Versiyon 0.64.0, bu sorun için bir yama içermektedir.
Nasıl düzeltilir
- langroid0.64.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| langroidPyPI | v < 0.64.0 | 0.64.0 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.