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番号 影響するバージョン 一次情報源 Priority CVSS Score / CVSS Vector
CVE-2021-31535 libx11 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

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


OSSに関するお困りごとは サイオス OSSよろず相談室まで

サイオスOSSよろず相談室 では、OSSを利用する中で発生する問題に対し、長年培ってきた技術力・サポート力をもって企業のOSS活用を強力に支援します。Red Hat Enterprise Linux のほか、CentOS をご利用されている環境でのサポートも提供いたします。

前へ

Linux Kernelの脆弱性(CVE-2021-33033, CVE-2021-33034)

次へ

runcの脆弱性(Important: CVE-2021-30465) (Symlink-Exchange Attack: シンボリックリンク攻撃)