در نسخههای پیش از 4.15.0 کتابخانه Zetetic SQLCipher، یک آسیبپذیری از نوع تزریق کد یا SQL Injection شناسایی شده است که میتواند امنیت پایگاههای داده رمزنگاری شده را به خطر اندازد.
جزئیات فنی آسیبپذیری
این نقص امنیتی در تابع کمکی sqlcipher_export رخ میدهد. این تابع به طور معمول برای کپی کردن محتویات یک پایگاه داده متصل به پایگاه دادهای دیگر، بهویژه در هنگام تبدیل پایگاههای داده متنی (Plaintext) به پایگاههای داده رمزنگاری شده، استفاده میشود.
به دلیل اینکه این تابع نیاز به دستکاری پویا در ساختار (Dynamic Schema Manipulation) دارد، در حین عملیات به طور موقت برخی از محدودیتهای دفاعی را غیرفعال میکند. مشکل اصلی در نحوه مدیریت پارامتر نام پایگاه داده منبع (Source Database Name) است؛ به گونهای که یک کاربر یا مهاجم میتواند با ارسال یک نام دستکاری شده (Crafted Name)، دستورات SQL مخرب را اجرا کند.
راهکار مقابله
برای رفع این مشکل، توصیه میشود تمامی کاربران و توسعهدهگانی که از این کتابخانه استفاده میکنند، سریعاً آن را به نسخه 4.15.0 یا نسخههای جدیدتر بهروزرسانی کنند تا این حفره امنیتی بسته شود.