シスコのセキュリティ研究者
この脆弱性は、攻撃者がコピーされたデータのサイズを送信する変数の負の値の形成を組織できる状況 (たとえば、2 GB を超えるデータを転送すると負の値になる) でコードを実行するために悪用される可能性があります。ただし、攻撃中にバッファ制限を超えるには、少なくとも 4GB を転送する必要があります)。 memcpy() 関数はアプリケーションで広く使用されており、ARMv7 プロセッサは、Bluetooth、HD ラジオ/DAB、USB、CAN バス、 Wi-Fi Fi およびその他の外部データ ソース (たとえば、サイズ制限なしで入力データを受け入れるネットワーク経由でアクセスできるサービスやアプリケーションが攻撃される可能性があります)。
一例としては、自動車情報システムに組み込まれ、自動車 Wi-Fi ネットワーク経由でアクセスできる HTTP サーバーを攻撃するための実用的なエクスプロイトの作成が挙げられます。 外部の攻撃者は、非常に大規模な GET リクエストを送信することで、このサーバーの memcpy の脆弱性を悪用し、システムへの root アクセスを取得する可能性があります。
32 ビット x86 システムでは、このアーキテクチャの memcpy 実装はサイズ変数を size_t 型 (アセンブリ言語の) の符号なし整数値として正しく解釈するため、問題は発生しません。
この修正は、要約すると、符号付きオペランド (bge および blt) を操作するアセンブリ命令の使用を、符号なしのオペランド (blo および bhs) に置き換えることです。
問題はまだ解決されていません
出所: オープンネット.ru