こんにちは。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リクエストを実行することにより、プロトコルコマンドインジェクションが可能になります。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、サービスの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
セキュリティ系連載案内
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2018のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。
- OSSセキュリティ技術の会のメンバーにより、@ITで「Berkeley Packet Filter(BPF)入門」が連載されています。
CM
こちらで小学生の勉強支援サイトをオープンしました。算数のプリント(都度、自動生成)が無料でダウンロードできます。コンテンツは未だ少ないですが、徐々に増やしていきます。