概要
リモートの Amazon Linux 2 ホストに、セキュリティ更新プログラムがありません。
説明
リモートホストにインストールされている freerdp のバージョンは、2.11.7-1 より前です。したがって、ALAS2-2026-3840 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
TS Gateway の RPC フラグメント受信における、bind_ack の max_xmit_frag に上限がないことに起因するヒープバッファオーバーフロー書き込み
TS Gateway 接続では、rpc->max_recv_frag は 0x0FF8 (4088) に初期化され、ReceiveFragment はそのサイズに割り当てられます。rpc_bind.c では、クライアントはサーバーから上限なしで rpc->max_recv_frag = header.bind_ack.max_xmit_frag を割り当てます。悪意のあるゲートウェイは max_xmit_frag = 0xFFFF に設定できますが、ReceiveFragment のサイズ変更は一切行われません。
その後、rpc_client.c は if (header.frag_length > rpc->max_recv_frag) を持つフラグメントを拒否します。両方の値が 65535 の場合、このチェックに合格します (65535 > 65535 は false)。次に、受信ループが rpc_channel_read() - BIO_read() を固定された 4088 バイトの ReceiveFragment に呼び出し、最大 65535 バイトを書き込み、最大 61447 バイトの攻撃者制御バイトをオーバーフローします。(CVE-2026-55193)
alloc_hint の容量不一致による TS Gateway RPC RESPONSE 再アセンブリでのヒープバッファオーバーフロー書き込み
rpc_client_recv_fragment() では、PTYPE_RESPONSE PDU を再アセンブリするとき、クライアントはサーバーが宣言した alloc_hint のみを使用して、Stream_EnsureCapacity(pdu->s, response->alloc_hint) を呼び出します。
Stream_EnsureCapacity() は、現在の書き込みオフセットやコピーしようとしている実際のスタブ長を考慮せずに、既存の容量がすでに >= alloc_hint である場合に成功を返します。
悪意のあるゲートウェイが、大きなフラグメント (frag_length = 6000、StubLength [?] 5968 を生成) を送信しながら、小さな alloc_hint (たとえば 100) を設定する可能性があります。4096 バイトの再アセンブリバッファは拡張されず、Stream_Write(pdu->s, ..., StubLength) は、ヒープ割り当ての終端を超えて、攻撃者が制御するスタブデータをコピーします。デフォルトのビルドでは、これは WINPR_ASSERT によって中止される場合があります。一方、リリースビルド (NDEBUG) では、アサートが省略され、オーバーフローは悪用可能なヒープ書き込みになります。
これは、別の ReceiveFragment / bind_ack max_xmit_frag の問題 (同じゲートウェイモジュール内で異なるバッファとコードパス) とは異なります。(CVE-2026-55194)
細工されたグリフフラグメントを介した glyph_cache_get の領域外読み取り
悪意のある RDP サーバーが、グリフキャッシュを介して FreeRDP クライアントで領域外ヒープ読み取りを引き起こす可能性があります。
glyph_cache_get() は、インデックスの境界チェックで「>」を使用していますが、本来は「>=」を使用すべきです。一方、関連する関数である glyph_cache_put() では、すでに正しく処理されています。キャッシュのエントリ配列は正確に番号ポインターを保持するため、index が number に等しい場合、このチェックをすり抜け、末尾の 1 スロット先を読み取ります。そして、呼び出し元はこの領域をグリフとして逆参照します。これは CVE-2020-11098 の読み取り側の脆弱性であり (書き込み側は 2.1.2 で修正済みですが、読み取り側は修正されていません)、3.25.0 および master ブランチにも依然として存在しています。(CVE-2026-55564)
freerdp_image_copy_from_icon_data の整数オーバーフローが境界チェックをバイパス (CVE-2026-55648)
終端されていない DeviceName / VirtualChannelName (CVE-2026-57157) による、カメラデバイス列挙サーバー (rdpecam) における領域外読み取り
planar_decompress_plane_rle_only: ヒープ OOB 読み取り -- CVE-2026-23530 の不完全な修正
CVE-2026-23530 (GHSA-r4hv-852m-fq7p) の修正は、freerdp_bitmap_decompress_planar のエントリポイントにディメンションガードを正しく追加しますが、その適用範囲は不完全です。planar_decompress_plane_rle_only は、
srcp が SrcSize の範囲内にあることを検証する前に、*srcp を逆参照しています。悪意のあるサーバーが、RDPGFX_CMDID_WIRETOSURFACE_1 の切り捨てられた RLE 平面ペイロードを介して、このパスに到達する可能性があります。(CVE-2026-57158)
Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
「yum update freerdp」または「yum update --advisory ALAS2-2026-3840」を実行してシステムを更新してください。
プラグインの詳細
ファイル名: al2_ALAS-2026-3840.nasl
エージェント: unix
サポートされているセンサー: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Tenable Cloud Security, Tenable Self-Hosted Container Security, 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
Threat Vector: CVSS:4.0/E:P
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
脆弱性情報
CPE: cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:freerdp-debuginfo, p-cpe:/a:amazon:linux:freerdp-devel, p-cpe:/a:amazon:linux:freerdp-libs, p-cpe:/a:amazon:linux:freerdp, p-cpe:/a:amazon:linux:libwinpr-devel, p-cpe:/a:amazon:linux:libwinpr
必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
エクスプロイトの容易さ: Exploits are available