Ekim 2000’e kadar uzanan bir kod değişikliğinin parçası olarak tanıtılan ve saldırganların programları çökertmesine veya kontrol etmesine olanak sağlayabilecek SQLite veritabanı kitaplığında yüksek önemde bir güvenlik açığı açıklandı.

olarak izlendi CVE-2022-35737 (CVSS puanı: 7.5), 22 yıllık sorun SQLite sürümlerini etkiliyor 1.0.12 3.39.1 aracılığıyla ve şu adreste ele alınmıştır: sürüm 3.39.2 21 Temmuz 2022’de yayınlandı.

“CVE-2022-35737 sömürülebilir 64 bit sistemlerde ve istismar edilebilirlik programın nasıl derlendiğine bağlıdır,” Trail of Bits araştırmacısı Andreas Kellas söz konusu bugün yayınlanan teknik bir yazıda.

“Kütüphane yığın kanaryaları olmadan derlendiğinde keyfi kod yürütme onaylanır, ancak yığın kanaryaları mevcut olduğunda onaylanmaz ve her durumda hizmet reddi onaylanır.”

SQLite Veritabanı Güvenlik Açığı

C’de programlanmış, SQLit bu En yaygın olarak kullanılan veritabanı motoruvarsayılan olarak Android, iOS, Windows ve macOS’ta ve ayrıca Google Chrome, Mozilla Firefox ve Apple Safari gibi popüler web tarayıcılarında bulunur.

Trail of Bits tarafından keşfedilen güvenlik açığı, tamsayı taşması hatası Bu, son derece büyük dize girdileri, programın SQLite uygulamalarına parametre olarak iletildiğinde meydana gelir. printf fonksiyonlarıbu da dize biçimlendirmesini işlemek için başka bir işlevi kullanır (“sqlite3_str_vappendf“).

Bununla birlikte, kusurun başarılı bir şekilde silahlandırılması, dizenin içerdiği ön koşula dayanır. %Q, %q veya %w biçim değiştirme türlerikullanıcı tarafından kontrol edilen veriler yığınla ayrılmış bir arabellek sınırlarının ötesine yazıldığında potansiyel olarak bir program çökmesine neden olur.

“Biçim dizesi ‘!’ unicode karakter taramasını etkinleştirmek için özel bir karakter, o zaman en kötü durumda rastgele kod yürütme elde etmek veya programın süresiz olarak askıda kalmasına ve (neredeyse) döngü yapmasına neden olmak mümkündür,” diye açıkladı Kellas.

Güvenlik açığı aynı zamanda, on yıllar önce pratik olmadığı düşünülen bir senaryonun bir örneğidir – giriş olarak 1 GB’lık dizeler tahsis etmek – ortaya çıkmasıyla mümkün kılınmıştır. 64 bit bilgi işlem sistemler.

Kellas, “Sistemler öncelikle 32 bit mimariler olduğunda, yazıldığı sırada (SQLite kaynak kodunda 2000’e kadar uzanan) bir hata gibi görünmeyen bir hatadır” dedi.



siber-2