Linuxカーネルにおいて、以下の脆弱性が修正されました。crypto: qat - RSA CRTコンポーネントの長さの検証に関して、一般的なRSAキー解析器(rsa_helper.c)は各CRTコンポーネント(p、q、dp、dq、qinv)を法のサイズn_szで制限しています。しかし、qat_rsa_setkey_crt()は半分のサイズのDMAバッファ(key_sz / 2)を割り当て、各コンポーネントを以下のように右寄せでコピーしています。 memcpy(dst + half_key_sz - len, src, len)CRTコンポーネントがhalf_key_szより大きい場合、この引き算でアンダーフローが発生し、memcpyがDMAバッファの範囲外に書き込み、メモリ破損を引き起こす可能性があります。5つのCRTコンポーネントそれぞれに対して、既存の!lenチェックの隣にlen > half_key_szのチェックを追加することで、ドライバが範囲外書き込みを防ぎ、CRTを使わないパスへフォールバックするように修正しました。
|