重要な脆弱性情報: 説明: 中核の問題: X Window System のクライアントライブラリは、サーバーの応答処理において多数のプロトコル処理上の問題を抱えています。これは主に、サーバーから送信されるプロトコルデータを信頼し、そのデータがオーバーフローやその他の損害を引き起こす可能性を検証しなかったことに起因します。 主要な脆弱性タイプ: 1. メモリ要件の計算における整数オーバーフロー - オーバーフローのチェックを行わないため、確保されるメモリが不足し、バッファ範囲外への書き込みが発生します。 - 影響を受ける関数:XQueryFont(), XListFontsWithInfo(), XGetMotionEvents() など。 2. メモリ要件の計算における符号拡張問題 - 符号拡張問題のチェックを行わないため、小整数型から大整数型への変換時に負数がメモリサイズ計算に使用され、結果として確保されるメモリが不足し、オーバーフローを引き起こす可能性があります。 - 影響を受ける関数:XAllocColorCells(), XkbReadGetDeviceInfoReply(), XListInputDevices() など。 3. バッファオーバーフロー(応答内の長さまたはオフセット値の未検証) - サーバーから返されたデータの長さやインデックスが指定範囲内にあるかチェックしないため、割り当て済みメモリ領域の境界を越えて書き込みが行われます。 - 影響を受ける関数:XGetDeviceButtonMapping(), XQueryDeviceState() など。 4. ユーザー指定ファイルの解析における整数オーバーフロー - ファイルデータの処理時、読み込んだデータの計算でオーバーフローが発生するかどうかチェックしないため、確保されるメモリが不足し、オーバーフローが発生します。 5. ユーザー指定ファイルの解析における制限のない再帰処理 - C言語風の ディレクティブを処理する際、再帰の深さに制限がないため、スタックオーバーフローを引き起こす可能性があります。 6. 戻り値の未チェックに起因するメモリ破壊 - が返すポインタが正しく初期化されていると仮定していますが、関数が失敗した際には初期化されていないため、未初期化ポインタによる読み書きや などの関数への渡しが実行されます。 影響を受けるバージョン: これらの脆弱性は、最初に導入された時点から遡って、以前のすべてのバージョンに存在します。 修正: 修正されたバージョンおよび Git コミットによって修正が行われます。 警告:Git 内のパッチ適用順序はアプリケーションの順序に依存するため、以前のアーカイブバージョンにおいてパッチの効果が影響を受ける可能性があります。