Kerentanan tingkat tinggi telah diungkapkan di perpustakaan database SQLite, yang diperkenalkan sebagai bagian dari perubahan kode sejak Oktober 2000 dan dapat memungkinkan penyerang untuk merusak atau mengontrol program.
Dilacak sebagai CVE-2022-35737 (skor CVSS: 7,5), masalah berusia 22 tahun memengaruhi SQLite versi 1.0.12 hingga 3.39.1, dan telah diatasi dalam versi 3.39.2 yang dirilis pada 21 Juli 2022.
“CVE-2022-35737 dapat dieksploitasi pada sistem 64-bit, dan eksploitabilitas bergantung pada bagaimana program dikompilasi,” kata peneliti Trail of Bits Andreas Kellas dalam tulisan teknis yang diterbitkan hari ini.
“Eksekusi kode arbitrer dikonfirmasi ketika perpustakaan dikompilasi tanpa stack canaries, tetapi tidak dikonfirmasi ketika stack canary hadir, dan penolakan layanan dikonfirmasi dalam semua kasus.”
Diprogram dalam C, SQLite adalah mesin database yang paling banyak digunakan, disertakan secara default di Android, iOS, Windows, dan macOS, serta browser web populer seperti Google Chrome, Mozilla Firefox, dan Apple Safari.
Kerentanan yang ditemukan oleh Trail of Bits menyangkut bug overflow integer yang terjadi ketika input string yang sangat besar dilewatkan sebagai parameter ke implementasi SQLite dari fungsi printf, yang, pada gilirannya, menggunakan fungsi lain untuk menangani pemformatan string (“sqlite3_str_vappendf “).
Namun, persenjataan yang berhasil dari bank cacat pada prasyarat bahwa string berisi jenis substitusi format %Q, %q, atau %w, berpotensi menyebabkan crash program ketika data yang dikendalikan pengguna ditulis di luar batas tumpukan- buffer yang dialokasikan.
“Jika format string berisi ‘!’ karakter khusus untuk mengaktifkan pemindaian karakter unicode, maka dimungkinkan untuk mencapai eksekusi kode arbitrer dalam kasus terburuk, atau menyebabkan program hang dan loop (hampir) tanpa batas waktu,” jelas Kellas.
Kerentanan juga merupakan contoh skenario yang pernah dianggap tidak praktis beberapa dekade lalu mengalokasikan string 1GB sebagai input menjadi layak dengan munculnya sistem komputasi 64-bit.
Sumber: The Hackernews