こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
05/06/2022 (JST) にrsyslogの脆弱性情報(High: CVE-2022-24903)が公開されています。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
[過去の関連リンク(最新10件)]
Priority
CVE番号 | 影響するバージョン | Priority | CVSS Score / CVSS Vector |
---|---|---|---|
CVE-2022-24903 | <= rsyslog 8.2204.0 | Vendor: High | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-24903
- ヒープバッファーオーバーランの可能性
- 重要度 – High
- 対象 – rsyslog 3.0.0
- TCP syslog受信モジュールにオクテットカウントフレームが使用されている時にヒープバッファーオーバーフローが発生する可能性が見つかりました。攻撃者はヒープ値を破損させることでデータの整合性や可用性に問題を発生させることが出来ます。
リモートからのコード実行は起きないはずですが不可能ではありません。
- 影響を受けるモジュール
- `imtcp`
- `imptcp`
- `imhttp` (contributed module)
- `imgssapi` (long-term semi-contributed module)
- `imdiag`
- このバグはオクテットカウントが読まれた際に発生します。オクテットの最大数をチェックしていますが、オクテットカウントが最大値を超えた場合でもヒープバッファーに数値の書き込みを行っていました。これはメモリバッファーのオーバーランで使用されます。また他のヒープバッファーを破損させることにも使用できます。数値列がストップすると、他のキャラクタがバッファーに追加できなくなります。発見者/開発者の主張ではリモートエクスプロイトは不可能か少なくとも高度に複雑になっています。
オクテットカウントフレームは2つのうち一つのフレーミングモードです。これは一般的ではありませんが、受け手側のデフォルトで有効になっています。
モジュール `imtcp`, `imptcp`, `imgssapi`, `imhttp`はsyslogメッセージ受信側で通常使用されます。これらを直接パブリックに露出させないことがベストプラクティスとなっています。ベストプラクティスに従っていれば、リスクは低くなります。
モジュール`imdiag` は診断モジュールとしてテストベンチで使用されています。これは運用環境では使用されるべきではないと考えられています。
- 迂回策: オクテットカウントフレームは一般的ではありません。通常、送信側で特別に有効にしてあげる必要があります。ユーザが必要でなければ、これを重要なモジュールに対して無効にしておくことで迂回が出来ます。どの様に行うかはモジュールによって異なります。
- `imtcp`. `imptcp`に関しては、`input()`定義で`SupportOctetCountedFraming=”off”` を付加します。Docs:https://www.rsyslog.com/doc/v8-stable/configuration/modules/imtcp.html, https://www.rsyslog.com/doc/v8-stable/configuration/modules/imptcp.html, https://www.rsyslog.com/doc/v8-stable/configuration/modules/imhttp.html
- `imgssapi`に関しては、オクテットカウントフレームは無効にすることが出来ません。
- `imdiag`に関しては、オクテットカウントフレームは無効にすることが出来ません。しかしながら、`imdiag`は運用環境で使用するべきではありません。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、サービスの再起動が発生する場合には、peacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
日々のメモを更新しています。
セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。