libx11の脆弱性(Important: CVE-2021-31535)

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

05/16/2021にlibx11の脆弱性(Important: CVE-2021-31535)が公開されました。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。

2021/05/21 14:00追記:Red Hatの情報, PoC情報を追加しました。


[過去の関連リンク]


Priority

CVE番号影響するバージョン一次情報源PriorityCVSS Score / CVSS Vector
CVE-2021-31535libx11 API Protocol Command Injection

Red Hat: 8.1 Important

Vendor: 9.3 / AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Red Hat: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-31535
    • libx11 API プロトコルコマンドインジェクションの問題
    • libx11が提供しているC-APIに問題が見つかりました。LookupColorリクエストプロトコルではname長が2^16バイトを超えないようになっており、リクエスト長は2^18バイトになっています。一方、Xlib client API関数はそれを尊重しないため、2^18を超えるcolor名を与えると、name lengthとrequest lengthフィールドがオーバーフローとなります。これにより、サーバはクライアント外としたよりも短いlookup requestをパースして実行します。残った未処理のcolor nameデータはプロトコルの非同期生により、追加のリクエストとしてすぐに実行されます。
    • 影響:これを利用して、細工されたcolor nameでLookupColorリクエストを実行することにより、プロトコルコマンドインジェクションが可能になります。

主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteKatello、Spacewalk等を使うと管理が便利でしょう。

また、サービスの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。


セキュリティ系連載案内

CM

こちらで小学生の勉強支援サイトをオープンしました。算数のプリント(都度、自動生成)が無料でダウンロードできます。コンテンツは未だ少ないですが、徐々に増やしていきます。


タイトルとURLをコピーしました