Medium
Medium
日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。
概要
Cisco IOS XRソフトウェアのヘルスチェックRPMの脆弱性により、認証されていないリモート攻撃者がNOSiコンテナ内で実行されているRedisインスタンスにアクセスできる可能性があります。
この脆弱性は、ヘルスチェックRPMがアクティベーション時にデフォルトでTCPポート6379を開くことによって発生します。攻撃者は、オープンポートでRedisインスタンスに接続することで、この脆弱性を不正利用する可能性があります。エクスプロイトに成功すると、攻撃者はRedisのインメモリデータベースへの書き込み、コンテナファイルシステムへの任意のファイルの書き込み、およびRedisデータベースに関する情報の取得を行う可能性があります。Redisインスタンスが実行されているセキュリティで保護されたコンテナの設定を前提とすると、リモート攻撃者はリモートコードを実行できなくなり、Cisco IOS XRソフトウェアホストシステムの整合性を悪用できなくなります。
シスコはこの脆弱性に対処するソフトウェアアップデートをリリースしています。本脆弱性に対処する回避策がいくつかあります。
このアドバイザリは、次のリンクより確認できます。
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxr-redis-ABJyE5xK
該当製品
脆弱性のある製品
この脆弱性は、Cisco 8000シリーズルータで脆弱性が存在するCisco IOS XRソフトウェアリリースを実行していて、ヘルスチェックRPMがインストールされアクティブな場合に、公開時点で影響を受けました。
公開時点で脆弱性が確認されている Cisco ソフトウェアのリリースについては、このアドバイザリの「修正済みソフトウェア」セクションを参照してください。最も完全で最新の情報については、このアドバイザリの上部にあるバグ ID の詳細セクションを参照してください。
デバイス設定の確認
デバイスが脆弱な状態かどうかを確認するには、run docker ps CLIコマンドを発行します。次の例に示すように、出力がNOSiという名前のDockerコンテナを返す場合、そのデバイスは脆弱であると見なされます。
RP/0/RP0/CPU0:8000#run docker ps
Wed May 18 04:54:52.502 UTC
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54307e434f29 nosi:latest "docker-entrypoint.s…" 9 seconds ago Up 8 seconds NOSi
RP/0/RP0/CPU0:8000#
脆弱性を含んでいないことが確認された製品
回避策
この脆弱性に対処する回避策は次のとおりです。
オプション1:これは推奨される方法です。ヘルスチェックを無効にし、ユースケースを明示的に無効にします。
ヘルスチェックを効果的に無効にするには、次のコマンドを正確に入力します。
RP/0/RP0/CPU0:8000(config)#no healthcheck enable
RP/0/RP0/CPU0:8000(config)#healthcheck use-case asic-reset disable
RP/0/RP0/CPU0:8000(config)#healthcheck use-case packet-drop disable
RP/0/RP0/CPU0:8000(config)#commit
RP/0/RP0/CPU0:8000#
次に、デバイスからヘルスチェックRPMを削除します。
RP/0/RP0/CPU0:8000#install package remove xr-healthcheck
Wed May 18 05:00:08.060 UTCInstall remove operation 5.2.2 has started
Install operation will continue in the background
RP/0/RP0/CPU0:8000#
RP/0/RP0/CPU0:8000#install apply restart
Wed May 18 05:01:08.842 UTC
Install apply operation 5.2 has started
Install operation will continue in the background
RP/0/RP0/CPU0:8000#
RP/0/RP0/CPU0:8000#show install request
User request: install apply restart
Operation ID: 7.4
State: Success since 2024-02-28 14:06:40 UTC
RP/0/RP0/CPU0:8000#install commit
RP/0/RP0/CPU0:8000#
オプション2:インフラストラクチャアクセスコントロールリスト(iACL)を使用してポート6379をブロックします。
インフラストラクチャデバイスを保護し、直接的なインフラストラクチャ攻撃によるリスク、影響、および効果を最小限に抑えるには、インフラストラクチャアクセスコントロールリスト(iACL)を配備して、インフラストラクチャ機器に送信されるトラフィックに対してポリシーを適用することを推奨します。iACL は、既存のセキュリティ ポリシーと設定に基づいて、インフラストラクチャ デバイス宛ての正当なトラフィックのみを明示的に許可することによって構築されます。インフラストラクチャ デバイスの保護を最大にするには、IP アドレスが設定されているすべてのインターフェイスの入力方向で配備済みの iACL を適用する必要があります。信頼できる送信元アドレスから攻撃が発信された場合、iACLの回避策では、この脆弱性に対する完全な保護を提供できません。
iACLポリシーは、該当するデバイスに送信されるTCPポート6379の不正なRedis通信パケットを拒否します。次の例では、192.168.60.0/24が該当するデバイスによって使用されるIPアドレス空間です。許可されていないすべてのトラフィックを拒否する前に、ルーティングおよび管理アクセスに必要なトラフィックを許可するように注意する必要があります。インフラストラクチャのアドレス レンジは、できるだけユーザおよびサービス セグメントに使用されるアドレス レンジとは別個にする必要があります。このようにアドレスを設定することで、iACL の構築と配備が容易になります。
ipv4 access-list Infrastructure-ACL-Policy
!
!-- The following vulnerability-specific access control entries
!-- (ACEs) can drop Redis Database communication packets
!
deny tcp any 192.168.60.0 0.0.0.255 eq 6379
!
!-- Explicit deny ACE for traffic sent to addresses configured
!-- within the infrastructure address space
!
deny ip any 192.168.60.0 0.0.0.255
!
!-- Permit or deny all other Layer 3 and Layer 4 traffic in
!-- accordance with existing security policies and configurations
!
!-- Apply iACL to interfaces in the ingress direction
!
interface GigabitEthernet0/0
ipv4 access-group Infrastructure-ACL-Policy in
iACLについての詳細は、『コアの保護:インフラストラクチャ保護ACL』を参照してください。
これらの回避策は導入されており、テスト環境では実証済みですが、お客様は、ご使用の環境および使用条件において適用性と有効性を判断する必要があります。また、導入されている回避策または緩和策が、お客様固有の導入シナリオおよび制限に基づいて、ネットワークの機能やパフォーマンスに悪影響を及ぼす可能性があることに注意してください。回避策や緩和策は、ご使用の環境への適用性と環境への影響を評価した後で導入してください。
修正済みソフトウェア
ソフトウェアのアップグレードを検討する際には、シスコ セキュリティ アドバイザリ ページで入手できるシスコ製品のアドバイザリを定期的に参照して、侵害を受ける可能性とアップグレード ソリューション一式を確認してください。
いずれの場合も、アップグレードするデバイスに十分なメモリがあること、および現在のハードウェアとソフトウェアの構成が新規リリースで引き続き正しくサポートされていることを十分に確認してください。不明な点については、Cisco Technical Assistance Center(TAC)もしくは契約しているメンテナンスプロバイダーにお問い合わせください。
修正済みリリース
発行時点では、次の表に記載されているリリース情報は正確でした。 最も完全で最新の情報については、このアドバイザリの上部にあるバグ ID の詳細セクションを参照してください。
Cisco IOS XR リリース | First Fixed Release(修正された最初のリリース) |
---|---|
7.2 以前 | Not affected |
7.3.15、7.3.16、7.3.1、および7.3.2 | Not affected |
7.3.3 | SMU ID:8000-7.3.3.CSCwb82689および7.3.4 |
7.4 | Not affected |
7.5.1 | Not affected |
7.5.2 | Not affected |
7.6 | Not affected |
注:SMU ID:8000-7.3.3.CSCwb82689は、次の手順を使用してインストールする必要があります。そうしないと、古いDockerコンテナが引き続きアクティブになり、この脆弱性に対処できない可能性があります。
- インストールSMU ID:8000-7.3.3.CSCwb82689:
RP/0/RP0/CPU0:ios#show install active summary Fri Mar 1 05:46:02.751 UTC Active Packages: XR: 183 All: 1347 Label: 7.3.3 Software Hash: fd6561ecb682a5cd3b7fcc31b6606292 Optional Packages Version ---------------------------------------------------- --------------------------- xr-8000-mcast 7.3.3v1.0.0-1 xr-8000-netflow 7.3.3v1.0.0-1 xr-bgp 7.3.3v1.0.0-1 xr-healthcheck 7.3.3v1.0.1-1 xr-ipsla 7.3.3v1.0.0-1 xr-is-is 7.3.3v1.0.0-1 xr-lldp 7.3.3v1.0.0-1 xr-mcast 7.3.3v1.0.0-1 xr-mpls-oam 7.3.3v1.0.0-1 xr-netflow 7.3.3v1.0.0-1 xr-ospf 7.3.3v1.0.0-1 xr-perfmgmt 7.3.3v1.0.0-1 xr-track 7.3.3v1.0.0-1 Active Fixes (count: 1): CSCwb82689: xr-healthcheck
NOSiは古いコンテナを実行しているため、redisポートが公開されています。
[node0_RP0_CPU0:~]$docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f25f8f89bcc1 nosi:latest "docker-entrypoint.s…" 5 minutes ago Up 5 minutes NOSi [node0_RP0_CPU0:~]$docker exec -it NOSi ps x PID TTY STAT TIME COMMAND 10 ts/0 Sl 0:00 redis-server 0.0.0.0:6379
- 古いDockerコンテナを停止して削除し、古いDockerイメージを削除します。
[node0_RP0_CPU0:~]$docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f25f8f89bcc1 nosi:latest "docker-entrypoint.s…" 7 minutes ago Up 7 minutes NOSi [node0_RP0_CPU0:~]$docker stop NOSi NOSi [node0_RP0_CPU0:~]$docker rm NOSi NOSi [node0_RP0_CPU0:~]$docker images REPOSITORY TAG IMAGE ID CREATED SIZE nosi latest 1dbc91432c6c 2 years ago 840MB [node0_RP0_CPU0:~]$docker image rm 1dbc91432c6c Untagged: nosi:latest Deleted: sha256:1dbc91432c6cde1c00dabf456b6007649af719ea091b3557a333842cdb458b65 .
.
. Deleted: sha256:87c8a1d8f54f3aa4e05569e8919397b65056aa71cdf48b7f061432c98475eee9 - プロセスの再起動:
RP/0/RP0/CPU0:ios#process restart appmgr
RP/0/RP0/CPU0:ios#process restart hcmgrNOsiコンテナが新しいイメージを作成しました。
[node0_RP0_CPU0:~]$docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c64285f9f2ef nosi:latest "docker-entrypoint.s…" 2 seconds ago Up 1 second NOSi [node0_RP0_CPU0:~]$docker exec -it NOSi ps x PID TTY STAT TIME COMMAND 10 pts/0 Sl 0:00 redis-server *:0
- コミットのインストール:
RP/0/RP0/CPU0:8000#install commit
RP/0/RP0/CPU0:8000#
Product Security Incident Response Team(PSIRT; プロダクト セキュリティ インシデント レスポンス チーム)は、このアドバイザリに記載されている該当するリリース情報と修正されたリリース情報のみを検証します。
不正利用事例と公式発表
2022年5月、Cisco PSIRTは、この脆弱性の不正利用が試みられていることを認識しました。シスコでは、適切な回避策を適用するか、修正済みソフトウェアリリースにアップグレードしてこの脆弱性を修正することを強く推奨いたします。
出典
この脆弱性は Cisco TAC サポートケースの解決中に発見されました。
URL
改訂履歴
バージョン | 説明 | セクション | ステータス | 日付 |
---|---|---|---|---|
1.2 | 回避策の情報を更新し、SMUのインストール手順を追加。 | 「回避策」および「修正済みリリース」 | Final | 2024年3月15日 |
1.1 | 「修正済みリリース」セクションにSMUを追加。 | 修正済みリリース | Final | 2022 年 6 月 1 日 |
1.0 | 初回公開リリース | — | Final | 2022 年 5 月 20 日 |
利用規約
本アドバイザリは無保証のものとしてご提供しており、いかなる種類の保証も示唆するものではありません。 本アドバイザリの情報およびリンクの使用に関する責任の一切はそれらの使用者にあるものとします。 また、シスコは本ドキュメントの内容を予告なしに変更したり、更新したりする権利を有します。
本アドバイザリの記述内容に関して情報配信の URL を省略し、単独の転載や意訳を施した場合、当社が管理した情報とは見なされません。そうした情報は、事実誤認を引き起こしたり、重要な情報が欠落していたりする可能性があります。 このドキュメントの情報は、シスコ製品のエンドユーザを対象としています。