SQLite, 22 yıllık kod yürütmeyi, hizmet reddi güvenlik açığını yamalar


Uyuyan 32 bit dönemi kodlama hatası, 64 bit sistemler için sorunlara neden oluyor

SQLite geliştiricileri, yalnızca modern 64-bit sistemlerin ortaya çıkmasından bu yana sorun haline gelen 22 yıllık bir kod yürütme ve hizmet reddi güvenlik açığını yamaladılar.

SQLite veritabanı motorunun koruyucuları, saldırganların yazılıma dayanan programları kilitlemek veya kontrol etmek için yararlanabileceği yüksek önem derecesine sahip bir güvenlik açığını düzeltti.

Yazılım geliştiricilerinin sunduğu Günlük Swig kusurun pratikte istismar edilmesinin zor olacağına dair ikna edici bir argüman. Buna rağmen, sorunu güvenli bir şekilde göz ardı edilebilecek bir şey olarak reddetmek yerine, kusura karşı savunmak için yazılımı bir yama ile revize ettiler.

SQLite, birçok kurumsal uygulama ve hizmetin temelini oluşturan popüler bir açık kaynaklı C dili kitaplığıdır. SQLite’ın önemli kullanıcıları arasında Apple, Adobe, Google, Facebook ve Microsoft bulunur. Dünya çapında dağıtılan milyarlarca SQLite kopyası var.

SQLite ekibi, potansiyel olarak geniş kapsamlı etkileri nedeniyle yazılımda ortaya çıkan güvenlik açıklarını hızlı bir şekilde düzeltir. Bununla birlikte, Trail of Bits tarafından bu ay açıklanan bir güvenlik açığı 22 yıl önce tanıtıldı ve başlangıçta güvenli işlevselliğin nasıl daha ileride istenmeyen sonuçlara yol açabileceğini vurguladı.

Veritabanıyla ilgili en son güvenlik haberlerini ve analizlerini yakalayın

25 Ekim tarihli bir blog gönderisinde, Trail of Bits araştırmacısı Andreas Kellas, güvenlik açığının, yazılımın esas olarak 32-bit mimarilere dayandığı bir 2000 sürümü olan SQLite sürüm 1.0.12’de tanıtıldığını söyledi. Kellas’a göre, hata o sırada “bir hata gibi görünmeyebilir”.

Yüksek önem derecesine sahip güvenlik açığı, CVSS önem puanı 7,5 olan CVE-2022-35737 olarak izlenir.

Trail of Bits, hatanın SQLite kitaplığı API’sine dayanan herhangi bir uygulamayı etkilediğini söyledi.

Güvenlik açığı, büyük dize girişleri şunları içerdiğinde 64 bit sistemlerde kullanılabilir: %Q, %qveya %w Bu senaryoda, programların çökmesine veya daha kötü olmasına neden olabilecek biçim değiştirme türleri.

En ağır vakalarda – ! biçim dizesinde özel karakter var – araştırmacılara göre “en kötü durumda, rastgele kod yürütme elde etmek veya programın (neredeyse) süresiz olarak askıda kalmasına ve döngüsüne neden olmak” mümkün olabilir.

Sorun kaynağı çözümlemesi

Ile konuşmak Günlük SwigSQLite’ın yaratıcısı D. Richard Hipp, sorunun temel nedeninin, giriş dizesinde bir bayt dizini olarak işaretli 32-bit tamsayıların kullanılması ve çıkış dizesinin boyutunu hesaplamak olduğunu söyledi. Bir girdi dizgisi yeterince büyük olduğunda, tamsayı taşar ve “her türlü sorun” ortaya çıkar.

Bununla birlikte, kusurun potansiyel etkisi sınırlı görünmektedir.

Hipp, SQL girişleri aracılığıyla veya hatalı biçimlendirilmiş bir veritabanı dosyasını SQLite ileterek bu güvenlik açığına kötü niyetli amaçlarla ulaşmanın mümkün olmadığını söyledi. Bunun yerine, bir saldırganın sqlite3_mprintf() işlev – veya “standart olmayanlardan birini içeren bir biçim dizesine sahip benzer C-seviyesi arayüzler” [;…] dönüştürme sembolleri ve ardından boyutu 2 GB’ın üzerinde olan bir dize iletin ”.

Yazılım geliştirici ekledi:

“Pek çok uygulama SQLite kullanıyor, ancak bunların yalnızca küçük bir yüzdesi sqlite3_mprintf() API ve daha da küçük bir yüzde, %Q, %qveya %w. Bunu yapanların çoğu, bir saldırganın argümana geçirilecek 2GB + dizeyi düzenlemesi için bir yol sağlamaz. %Q, %qveya %w

fosil çıkarmak

Ayrıca proje Fosil kontrol sistemini kullanırken ve bu yazılım baskıekip 2 GB’lık bir dize enjekte etmenin bir yolunu bulamadı.

CVE-2022-35737, Trail of Bits tarafından 14 Temmuz’da Bilgisayar Acil Müdahale Ekibi (CERT) Koordinasyon Merkezi’ne bildirildi. CERT sorunu onayladı, SQLite bakımcılarına ulaştı ve ekip yazılımın kaynak kodundaki hatayı yalnızca üç kez düzeltti. gün sonra – 64 bit tam sayıların kullanımına dönüştürülerek gerçekleştirilen bir görev.

Yamalı SQLite sürümü v3.39.2, 21 Temmuz’da yayınlandı.

Hipp, “Bunu bulan araştırmacılardan sorumlu açıklama için minnettarız” dedi. “SQLite’ın daha yeni bir sürümüne yükseltmenin zararı olmaz. Ancak, gerçek dünyadaki herhangi bir uygulamanın bundan etkilenmesi gerekiyorsa çok az.”

Günlük Swig ek sorgularla Trail of Bits’e ulaştı ve bu hikayeyi duyduğumuz anda güncelleyeceğiz.

İLİŞKİLİ HyperSQL Veritabanı kusuru, kütüphaneyi RCE’ye karşı savunmasız bırakıyor



Source link