High

アドバイザリーID : cisco-sa-20131002-iosxr

初公開日 : 2013-10-02 16:00

バージョン 1.0 : Final

CVSSスコア : 7.8

回避策 : No Workarounds available

Cisco バグ ID : CSCue69413

CVE-2013-5503

Download CVRF

Email

日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。

概要

Cisco IOS XRソフトウェアバージョン4.3.1には、パケットメモリが完全に枯渇する可能性のある脆弱性が存在します。 不正利用に成功すると、該当デバイス上の重要なサービスがパケットを割り当てることができなくなり、サービス拒否(DoS)状態が発生する可能性があります。

シスコはこの脆弱性に対処するソフトウェアアップデートをリリースしています。

この脆弱性を軽減する回避策があります。

このアドバイザリは次のリンクで確認できます。https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131002-iosxr

該当製品

脆弱性のある製品

この脆弱性は、サポートされているハードウェアデバイスにインストールされているCisco IOS XRソフトウェアバージョン4.3.1に影響を与えます。

デバイスでUDPリスニングサービスが有効になっている場合、このサービスには脆弱性が存在します。UDPサービス（およびデフォルトのUDPポート番号）を使用する一般的な設定は次のとおりです。

- Simple Network Management Protocol(SNMP):UDPポート161および162

- ネットワークタイムプロトコル(NTP):UDPポート123

- Label Distribution Protocol(LDP):UDPポート646

- Syslog:UDPポート514

UDPを転送メカニズムとして使用するCisco IOS XRデバイスに設定されている潜在的な機能を判別するには、管理者がデバイスにログインして、 show udp briefコマンドラインインターフェイス(CLI)コマンドを発行します。 ローカルアドレスのポート番号は重要です。 ローカルアドレスのポート番号は、[ローカルアドレス(Local Address)]列の最後の番号セットで示されます。 たとえば、:::123と0.0.0.0:123はNTP機能を指定します。 次の例は、NTP、SNMP、Syslog、およびLDPを使用して設定された、脆弱性のあるデバイスを示しています。

RP/0/0/CPU0:example#show udp brief

Tue Aug 27 08:57:56.255 PST

PCB     VRF-ID     Recv-Q Send-Q  Local Address          Foreign Address

0x500f87c4 0x60000000      0      0  :::123                 :::0

0x500f9af8 0x00000000      0      0  :::123                 :::0

0x500fc28c 0x60000000      0      0  :::161                 :::0

0x500fc074 0x00000000      0      0  :::161                 :::0

0x500fc88c 0x60000000      0      0  :::162                 :::0

0x500fc5fc 0x00000000      0      0  :::162                 :::0

0x500f8404 0x60000000      0      0  0.0.0.0:514            0.0.0.0:0

0x500fa4d8 0x60000000      0      0  0.0.0.0:123            0.0.0.0:0

0x500fa338 0x00000000      0      0  0.0.0.0:123            0.0.0.0:0

0x500fce3c 0x60000000      0      0  0.0.0.0:646            0.0.0.0:0

0x500f9c98 0x60000000      0      0  0.0.0.0:161            0.0.0.0:0

0x500fb360 0x00000000      0      0  0.0.0.0:161            0.0.0.0:0

0x500fbbbc 0x60000000      0      0  0.0.0.0:162            0.0.0.0:0

0x500fa184 0x00000000      0      0  0.0.0.0:162            0.0.0.0:0

0x500f8f10 0x00000000      0      0  0.0.0.0:0              0.0.0.0:0

RP/0/0/CPU0:example#

シスコデバイスにインストールされているCisco IOS XRソフトウェアのバージョンを確認するには、管理者がデバイスにログインして show versionコマンドを発行し、システムバナーを表示します。システムバナーに「Cisco IOS XR Software」のようなテキストが表示され、デバイスがCisco IOS XRソフトウェアを実行していることを確認できます。ソフトウェアバージョンは、「Cisco IOS XR Software」というテキストの後に表示されます。

次の例は、Cisco IOS XRソフトウェアバージョン4.3.1がインストールされているCisco 12000シリーズデバイスを示しています。

RP/0/0/CPU0:example#show version brief

Tue Aug 27 09:07:39.614 PST

Cisco IOS XR Software, Version 4.3.1[Default]

Copyright (c) 2013 by Cisco Systems, Inc.

ROM: System Bootstrap, Version 12.00(20090302:133850) [rtauro-sw30346-33S 1.23dev(0.36)] DEVELOPMENT SOFTWARE

Copyright (c) 1994-2009 by cisco Systems,  Inc.

Cisco IOS XRソフトウェアリリースの命名規則の追加情報は、『 ホワイトペーパー：Cisco IOSリファレンスガイド』を参照してください。

Cisco IOS XRソフトウェアのタイムベースリリースモデルの詳細については、『 White Paper: Guidelines for Cisco IOS XR Software』を参照してください。

脆弱性を含んでいないことが確認された製品

他のシスコ製品において、このアドバイザリの影響を受けるものは現在確認されていません。

詳細

Cisco IOS XRソフトウェアのメモリ枯渇の脆弱性

Cisco IOS XRソフトウェアバージョン4.3.1のUDPプロセスにおける脆弱性により、認証されていないリモートの攻撃者がUDPプロセスで使用可能なすべてのパケットメモリを消費させる可能性があります。

この脆弱性は、パケットキューがいっぱいになったときに、割り当てられたUDPパケットのメモリを解放するデバイスの障害に起因します。攻撃者は、該当デバイスのリスニングUDPサービスにトラフィックを送信する可能性があるため、この脆弱性を不正利用する可能性があります。この不正利用により、攻撃者はデバイスの使用可能なメモリをすべて使い果たし、デバイスが送信されたパケットにメモリを割り当てられなくなる可能性があります。

この脆弱性は、Cisco Bug ID CSCue69413( 登録ユーザ専用)として文書化され、Common Vulnerabilities and Exposures(CVE)IDとしてCVE-2013-5503が割り当てられています。

この脆弱性は、該当デバイスのリスニングUDPサービス宛ての正常または不正なトラフィックがある特定の条件下でトリガーされます。 通過トラフィックはこの脆弱性を引き起こしません。 この脆弱性は、IPバージョン4(IPv4)またはIPバージョン6(IPv6)のトラフィックを使用して不正利用される可能性があります。

脆弱性が不正利用されると、デバイスは次の警告メッセージを発行します。

%PKT_INFRA-PAKWATCH-4-DEPLETION_WARNING : Depletion level <value> percent for resource PAK FSV

デバイスにログインし、CLIコマンド show packet-memory summaryを発行することを推奨します。 出力で、UDPプロセスが（パーセンテージ列に示されているように）ほとんどのメモリを保持していることが示されている場合は、このアドバイザリに記載されている脆弱性によってデバイスが不正利用されている可能性があります。 次の例は、不正利用されたデバイスを示しています。

RP/0/0/CPU0:example#show packet-memory summary

Wed Aug 28 07:53:21.667 PST

ProcId   JobId Count  Percentage Process

739020993     403 17992     100.00% pkg/bin/udp

RP/0/0/CPU0:example#

回避策

インフラストラクチャアクセスコントロールリスト(ACL)とUnicast Reverse Path Forwarding

警告：この脆弱性はUDPトランスポートを介して不正利用されるため、送信元のIPアドレスをスプーフィングする可能性があり、信頼できるIPアドレスからこれらのポートへの通信を許可するACLを無効にする可能性があります。 ACLに加えて、管理者はuRPFを有効にする必要があります。これは、Cisco IOSソフトウェアのセキュリティ機能であり、転送されるパケットの送信元アドレスの到達可能性を確認します。これら2つのテクノロジーを組み合わせることで、iACL単独よりも強力な緩和策が提供されます。

ネットワークを通過するトラフィックを遮断することはしばしば困難ですが、インフラストラクチャ デバイスをターゲットとした許可すべきではないトラフィックを特定し、そのようなトラフィックをネットワークの境界で遮断することは可能です。インフラストラクチャACL(iACL)はネットワークセキュリティのベストプラクティスであり、この特定の脆弱性に対する回避策としてだけでなく、優れたネットワークセキュリティへの長期的な付加機能として考慮する必要があります。

次のiACLの例は、デバイス上のリスニングUDPサービスと、導入されたインフラストラクチャアクセスリストの一部として含める必要がある適切なiACLを識別する方法を示しています。 これにより、インフラストラクチャIPアドレス範囲内のIPアドレスを持つすべてのデバイスを保護できます。

RP/0/0/CPU0:example#show udp brief

Tue Aug 27 08:57:56.255 PST

PCB     VRF-ID     Recv-Q Send-Q  Local Address          Foreign Address

0x500f87c4 0x60000000      0      0  :::123                 :::0

0x500f9af8 0x00000000      0      0  :::123                 :::0

0x500fc28c 0x60000000      0      0  :::161                 :::0

0x500fc074 0x00000000      0      0  :::161                 :::0

0x500fc88c 0x60000000      0      0  :::162                 :::0

0x500fc5fc 0x00000000      0      0  :::162                 :::0

0x500f8404 0x60000000      0      0  0.0.0.0:514            0.0.0.0:0

0x500fa4d8 0x60000000      0      0  0.0.0.0:123            0.0.0.0:0

0x500fa338 0x00000000      0      0  0.0.0.0:123            0.0.0.0:0

0x500fce3c 0x60000000      0      0  0.0.0.0:646            0.0.0.0:0

0x500f9c98 0x60000000      0      0  0.0.0.0:161            0.0.0.0:0

0x500fb360 0x00000000      0      0  0.0.0.0:161            0.0.0.0:0

0x500fbbbc 0x60000000      0      0  0.0.0.0:162            0.0.0.0:0

0x500fa184 0x00000000      0      0  0.0.0.0:162            0.0.0.0:0

0x500f8f10 0x00000000      0      0  0.0.0.0:0              0.0.0.0:0

RP/0/0/CPU0:example#

RP/0/0/CPU0:example#configure term

ipv4 access-list ACL-INFRASTRUCTURE-IN

!

! Permit trusted sources to the local IP infrastructure address space

!

10 permit udp host "trusted-ntp-peer" host "local-ip-address" eq 123

20 permit udp host "trusted-snmp-peer" host "local-ip-address" range 161 162

30 permit udp host "trusted-syslog-server" any eq 514

40 permit udp host "trusted-ldp-peer" any eq 646

!

! Deny all other IP traffic to any network device

!

50 Deny ipv4 any "infrastructure-address-space" "mask"

! Permit transit traffic

!

60 permit ipv4 any any

ACLを作成したら、他の組織に接続するインターフェイス、リモートアクセスセグメント、ユーザセグメント、データセンターのセグメントなど、非インフラストラクチャデバイスに面しているすべてのインターフェイスにACLを適用する必要があります。

ホワイトペーパー『Cisco Guide to Harden Cisco IOS XR Devices』では、インフラストラクチャ保護アクセスリストのガイドラインと推奨される導入方法について説明しています。

識別とリカバリ

管理者がデバイスが悪用されていると疑う場合は、次の手順が回復に役立ちます。

1. パケットメモリがUDPプロセスによって消費されているかどうかを確認するには、show packet-memory summaryコマンドを使用します。

RP/0/0/CPU0:example#show packet-memory summary

Wed Aug 28 07:53:21.667 PST

ProcId   JobId Count  Percentage Process

739020993     405 17992     100.00% pkg/bin/udp

RP/0/0/CPU0:example#

2. show packet-memory inuseコマンドを使用して、着信トラフィックの入力インターフェイスを特定します。
次の例では、着信インターフェイスがFastEthernet 0/1/0/4であることを示しています

（UDPプロセスのジョブID番号に一致し、インターフェイス数が多い場合）。

RP/0/0/CPU0:example#show packet-memory inuse

Wed Aug 28 07:58:16.556 PST

Display inuse packets:

Pakhandle   Job Id Ifinput      Ifoutput     dll/pc

0xe3127e68  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe3128030  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe31283c0  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe3128588  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe3128750  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe3128918  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe3129200  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe3129590  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe3129ae8  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe3129cb0  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe3129e78  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe312a598  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe312a760  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe312aaf0  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe312acb8  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe312ae80  57     NULLIFHNDL   NULLIFHNDL   0x00000000

0xe312b5a0  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe312b930  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe312c3e0  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

0xe312c5a8  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904

--More--

3. ルータを安定させる最も迅速な方法は、攻撃の発信元である着信インターフェイスをシャットダウンすることです。

4. UDPプロセスを再起動します。

RP/0/0/CPU0:example#admin

Wed Aug 28 08:41:20.435 PST

RP/0/0/CPU0:example(admin)#process restart 405

5. 適切なSMUを適用するか、デバイスをCisco IOS XRバージョン4.3.2以降にアップグレードします。

ネットワーク内のシスコデバイスに適用可能なその他の対応策については、このアドバイザリに関連するCisco Applied Intelligenceのドキュメント( https://sec.cloudapps.cisco.com/security/center/viewAMBAlert.x?alertId=30921)を参照してください。

修正済みソフトウェア

ソフトウェアのアップグレードを検討する場合は、http://www.cisco.com/go/psirt のシスコ セキュリティ アドバイザリ、応答、および通知のアーカイブや、後続のアドバイザリを参照して侵害の可能性と完全なアップグレード ソリューションを確認してください。

いずれの場合も、アップグレードするデバイスに十分なメモリがあること、および現在のハードウェアとソフトウェアの構成が新規リリースで引き続き正しくサポートされていることを十分に確認してください。不明な点については、Cisco Technical Assistance Center（TAC）もしくは契約しているメンテナンスプロバイダーにお問い合わせください。

この脆弱性は、Cisco IOS XRソフトウェアバージョン4.3.2以降で修正されています。 Cisco IOS XRソフトウェアバージョン4.3.1を実行しているデバイスでは、次のSMUを使用できます。

Cisco IOS XRプラットフォーム

SMU ID

SMU 名

XR12000

AA07643

c12k-4.3.1.CSCue69413

ASR9K-PX

AA07645

asr9k-px-4.3.1.CSCue69413

CRS-PX

AA07647

hfr-px-4.3.1.CSCue69413

不正利用事例と公式発表

Cisco Product Security Incident Response Team（PSIRT）は、本アドバイザリに記載されている脆弱性の不正利用事例やその公表を確認していません。

この脆弱性は、内部でのセキュリティテストで発見されたものです。

URL

https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131002-iosxr

改訂履歴

リビジョン 1.0

2013年10月2日

初版リリース

利用規約

本アドバイザリは無保証のものとしてご提供しており、いかなる種類の保証も示唆するものではありません。 本アドバイザリの情報およびリンクの使用に関する責任の一切はそれらの使用者にあるものとします。 また、シスコは本ドキュメントの内容を予告なしに変更したり、更新したりする権利を有します。

本アドバイザリの記述内容に関して情報配信の URL を省略し、単独の転載や意訳を施した場合、当社が管理した情報とは見なされません。そうした情報は、事実誤認を引き起こしたり、重要な情報が欠落していたりする可能性があります。 このドキュメントの情報は、シスコ製品のエンドユーザを対象としています。