انتشار وصله برای آسیبپذیری اجرای کد از راه دور موجود در SQLite
محققان امنیتی Talos، یک آسیبپذیری استفاده پس از آزادسازی در SQLite را کشف کردهاند که به مهاجمان اجازه میدهد تا دستورات مخرب SQL را برای تریگرکردن آسیبپذیری، ارسال کنند. این آسیبپذیری استفاده پس از آزادسازی در عملکرد تابع پنجره Sqlite3 وجود دارد و میتوان آن را با شناسه CVE-2019-5018 ردیابی کرد. این آسیبپذیری همچنین نسخههای 3.26.0 و 3.27.0 از SQLite را تحتتاثیر قرار میدهد و از CVSS امتیاز 8.1 را دریافت کرده است. SQLite یک کتابخانه مشهور است که در پیادهسازی پایگاه دادهای SQL استفاده میشود و از آن در تعداد زیادی از دستگاهها از جمله دستگاههای تلفن همراه، مرورگرها، دستگاههای سختافزاری و اپلیکیشنهای کاربر استفاده میشود. SQLite قابلیت توابع پنجره SQL را پیادهسازی میکند و اجازه پرسوجو در زیر مجموعهها و سطرها را میدهد. پس از تجزیه عبارت SELECT که حاوی یک تابع پنجره است، این عبارت SELECT با استفاده از تابع sqlite3WindowRewrite تغییر شکل میدهد. طبق گزارش آسیبپذیری، هنگام حذف یک پنجره، پارتیشن مربوط به آن پنجره نیز حذف می شود و پس از حذف پارتیشن مربوطه، دوباره از آن در [exprListAppendList 5] استفاده میشود، که باعث آسیبپذیری استفاده پس از آزادسازی و سپس ایجاد شرایط منع سرویس میشود. اگر یک مهاجم بتواند حافظه را پس از آزادسازی کنترل کند، میتواند فرصتی را برای خراب شدن دادههای بیشتر به وجود آورد و این آسیبپذیری را به طور بالقوه منجر به اجرای کد دلخواه در سیستم آسیبپذیر کند.