Trail of Bitsは10月25日(米国時間)、「Stranger Strings: An exploitable flaw in SQLite|Trail of Bits Blog」において、データベースエンジンである「SQLite」に存在していた脆弱性について伝えた。この脆弱性は64ビットシステムで悪用可能とされており、任意のコードの実行やサービス運用妨害(DoS: Denial of Service)攻撃を受ける危険性があると報告している。

  • Stranger Strings: An exploitable flaw in SQLite|Trail of Bits Blog

    Stranger Strings: An exploitable flaw in SQLite|Trail of Bits Blog

Trail of Bitsによって発見されたこの脆弱性は「CVE-2022-35737」として特定されており、CVSSv3スコア値は7.5で深刻度は重要(High)に分類されている。SQLiteのprintf関数の実装に大きな文字列入力が渡され、フォーマット文字列に%Q、%q、または%wフォーマット置換タイプが含まれる場合に悪用される可能性があるという。CVE-2022-35737は2000年10月17日にリリースされたSQLite 1.0.12から混入しており、SQLite 3.39.1まで影響を与え、2022年7月21日にリリースされたSQLite 3.39.2にて修正されている。

この脆弱性の影響を受けるのは64ビットシステムとされており、プログラムのコンパイル方法に依存することが調査によって判明している。ライブラリをスタックカナリアなしでコンパイルした場合は任意のコードの実行が可能とされており、スタックカナリアがある場合は未確認とされている。また、すべてのケースにおいてサービス運用妨害が可能であると報告されている。

SQLiteのprintf関数を使用するすべてのシステムおよびアプリケーションに影響する脅威ではないが、攻撃者がプログラムをクラッシュさせたりシステムを制御したりすることが可能な重大な脆弱性であると伝えられている。またこのバグが混入した当時、システムが主に32ビットアーキテクチャであったたためエラーとは見られなかった興味深い脆弱性と指摘されている。