概要
リモートの Amazon Linux 2 ホストに、セキュリティ更新プログラムがありません。
説明
リモートホストにインストールされている freerdp のバージョンは、2.11.7-1 より前です。したがって、ALAS2-2026-3239 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、H.264 メタブロック regionRects 座標の水平境界検証がないため、FreeRDP クライアントの AVC420/AVC444 YUV-to-RGB 変換パスでクライアント側のヒープバッファオーバーフローが発生します。yuv.c では、camp() 関数 (347 行) は、サーフェス/YUV の高さに対して上部/下部のみを検証しますが、サーフェスの幅に対して左/右はチェックしません。avc420_yuv_to_rgb (行 67) が rect->left を使用して宛先とソースのポインターを計算するとき、割り当てられたサーフェスバッファをはるかに超えて到達できるチェックされていないポインター計算を実行します。悪意のあるサーバーが、左がサーフェス幅を大幅に超える regionRects エントリ (例: 128px サーフェスに対して left=60000) を含む AVC420 コーデックで WIRE__SURFACE_PDU_1 を送信します。H.264 ビットストリームが正常にデコードされると、yuv420_process_work_callback が avc420_yuv_to_rgb を呼び出することによって pDstPoint = pDstData + rect->top * nDstStep + rect->left * 4 が計算され、割り当てられたヒープ領域を 1888 バイト以上超えて 16 バイトの SSE ベクトルが書き込まれます。この脆弱性は 3.24.0 で修正されました。(CVE-2026-29774)
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、bitmap_cache_put での off-by-one 境界検査により、FreeRDP のビットマップキャッシュサブシステムでクライアント側のヒープの領域外読み取り/書き込みが発生します。悪意のあるサーバーが、cacheId が maxCells と等しい CACHE_BITMAP_ORDER (Rev1) を送信することによって、ガードをバイパスし、割り当てられた配列の 1 つの要素を超えた cells[] にアクセスする可能性があります。この脆弱性は 3.24.0 で修正されました。(CVE-2026-29775)
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、FreeRDP のコアライブラリの update_read_cache_bitmap_order 関数で整数アンダーフローが発生します。この脆弱性は 3.24.0 で修正されています。
(CVE-2026-29776)
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、IMA-ADPCM および MS-ADPCM オーディオデコーダーの size_t アンダーフローにより、RDPSND オーディオチャネルを介してヒープバッファオーバーフロー書き込みが発生します。libfreerdp/codec/dsp.c では、IMA-ADPCM と MS-ADPCM のデコーダーが、アンダーフローをチェックせずに、size_t 変数からブロックヘッダーサイズを減算します。(サーバーから受信した) nBlockAlign が、size % block_size == 0 に設定されていると、サイズがヘッダー (4 または 8 バイト) より小さい時点でヘッダー解析がトリガーされる場合、減算はサイズを ~SIZE_MAX までラップします。その後、while (size > 0) ループは、異常な数の反復が繰り返されます。この脆弱性は 3.24.0 で修正されました。(CVE-2026-31883)
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、nBlockAlign が 0 の場合、MS-ADPCM および IMA-ADPCM デコーダーでゼロ除算を行い、クラッシュが生じます。libfreerdp/codec/dsp.c では、両方の ADPCM デコーダーが size % block_size を使用しています。ここで、block_size = context->common.format.nBlockAlign です。nBlockAlign 値は、RDPSND チャネルの Server Audio Formats PDU から取得されます。値 0 は、デコーダーに到達する前にはどこでも検証されません。nBlockAlign = 0 の場合、剰余演算によって SIGFPE (浮動小数点の例外) クラッシュが発生します。この脆弱性は 3.24.0 で修正されました。(CVE-2026-31884)
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、入力データの predictor および step_index 値がチェックされないため、領域外読み取りが MS-ADPCM および IMA-ADPCM デコーダーに存在します。この脆弱性は 3.24.0 で修正されました。(CVE-2026-31885)
FreeRDP はリモートデスクトッププロトコルの無料の実装です。3.24.0 より前では、SrcSize が 0 の場合、freerdp_bitmap_decompress_planar に領域外読み取りが発生します。この関数は、SrcSize >= 1 であることを最初に検証せずに、*srcp (pSrcData を指す) を逆参照します。SrcSize が 0 で pSrcData が NULL ではない場合、ソースバッファの末尾を 1 バイト超えて読み取ります。この脆弱性は 3.24.0 で修正されています。
(CVE-2026-31897)
Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
「yum update freerdp」または「yum update --advisory ALAS2-2026-3239」を実行してシステムを更新してください。
プラグインの詳細
ファイル名: al2_ALAS-2026-3239.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C
脆弱性情報
CPE: p-cpe:/a:amazon:linux:freerdp-debuginfo, cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:freerdp-devel, p-cpe:/a:amazon:linux:freerdp, p-cpe:/a:amazon:linux:libwinpr, p-cpe:/a:amazon:linux:freerdp-libs, p-cpe:/a:amazon:linux:libwinpr-devel
必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
エクスプロイトの容易さ: Exploits are available