
News お知らせ/記事
- 技術情報
- Cisco Systems
- IOS
- IOS-XE
- IOS-XR
- SNMP
- 脆弱性
【Cisco Systems】SNMPのDoS脆弱性
はじめに
2025年2月5日、IOS、IOS-XE、IOS-XRにおける、SNMPのDoSに関する複数の脆弱性が公表されました。
今回の記事ではこの脆弱性の概要と今後の対処について、公開されている情報をもとにお送りさせて頂きます。
脆弱性の概要
この脆弱性はSNMPが有効となっているデバイスにおいて、攻撃者からDoS状態を引き起こされてしまう可能性が存在するものです。
よって、SNMPが有効となっていない環境においては、影響を受けません。
CVSSでのベーススコアは7.7、レートはHighとマークされているため、利用環境に応じて適切な措置を講じるべき事案となります。
CVSS
- ・Security Impact Rating (SIR): High
- ・CVSS Base Score: 7.7
- ・CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
Bug ID(s)
- ・CSCwm79581
- ・CSCwm79554
- ・CSCwm79564
- ・CSCwm79590
- ・CSCwm79570
- ・CSCwm79596
- ・CSCwm79577
CVE ID(s)
- ・CVE-2025-20169
- ・CVE-2025-20170
- ・CVE-2025-20171
- ・CVE-2025-20173
- ・CVE-2025-20174
- ・CVE-2025-20175
- ・CVE-2025-20176
対処方法
この脆弱性に対する根本的な対処は、これが解消されたソフトウェアへのアップデートのみとなります。
Cisco Systems社としての対応
Cisco Systems社では、この脆弱性を解消したリリースを進めています。
それぞれのOSごとに以下の通りとなっています。
Software Release | First Fixed Release | 備考 |
---|---|---|
15.2E | 15.2(7)E12 | リリース予定:2025/3 |
15.5SY | 15.5(1)SY15 | リリース予定:2025/3 |
15.9M | 15.9(3)M11 | リリース予定:2025/2 |
Software Release | First Fixed Release | 備考 |
---|---|---|
3.11E | 3.11.12E | リリース予定:2025/3 |
16.12 | 16.12.13 | リリース予定:2025/3 |
17.9 | 17.9.7 | リリース予定:2025/3 |
17.12 | 17.12.5 | リリース予定:2025/2 |
17.15 | 17.15.3 | リリース予定:2025/3 |
Software Release | First Fixed Release | 備考 |
---|---|---|
24.2 and earlier | 24.2.21 | – |
24.3 | n/a | ※他リリースへの移行が必要 |
24.4 | 24.4.2 | リリース予定:2025/3 |
25.2 | 25.2.1 | リリース予定:2025/2 |
※IOS-XR 24のQ3ではこの脆弱性は解消されないため、別のリリースへ移行することが推奨されます。しかし、多く利用されている8000 Seriesなどでは、この記事の執筆時点で24.3.2と24.2.2が推奨としてマークされているため、24.3を使用している場合は24.2.2へダウングレードするか、24.4のMDリリースがGAされ推奨とマークされるまで、暫定的な対処の検討が必要となります。 |
【暫定的な対処】対象OIDを無効化
脆弱性が解消されたOSが公開され、それぞれの利用環境でアップデートが実施可能となるまでの期間について、Cisco Systems社が強く推奨する緩和策は、「脆弱性の対象となるOIDを無効化する」となっています。
この参考手順を、以下にご紹介させて頂きます。
①SNMP viewを作成して、基本的なセキュリティ設定をする
snmp-server view SNMP_DOS iso included
snmp-server view SNMP_DOS snmpUsmMIB excluded
snmp-server view SNMP_DOS snmpVacmMIB excluded
snmp-server view SNMP_DOS snmpCommunityMIB excluded
IOS, IOS-XE, IOS-XR②脆弱性の対象になっているOIDをSNMP viewから除外する
snmp-server view SNMP_DOS ipAddressPrefixEntry.5 excluded
snmp-server view SNMP_DOS ipDefaultRouterEntry.4 excluded
snmp-server view SNMP_DOS tcp.19.1.7 excluded
snmp-server view SNMP_DOS tcp.20.1.4 excluded
snmp-server view SNMP_DOS udp.7.1.8 excluded
snmp-server view SNMP_DOS inetCidrRouteEntry.7 excluded
snmp-server view SNMP_DOS ospfv3AreaAggregateEntry.6 excluded
snmp-server view SNMP_DOS lispMappingDatabaseLocatorRlocPriority excluded
snmp-server view SNMP_DOS mplsVpnInterfaceConfEntry.2 excluded
snmp-server view SNMP_DOS mplsVpnVrfRouteTargetEntry.4 excluded
snmp-server view SNMP_DOS mplsVpnVrfBgpNbrAddrEntry.2 excluded
snmp-server view SNMP_DOS nhrpCachePrefixLength excluded
snmp-server view SNMP_DOS nhrpServerCacheAuthoritative excluded
snmp-server view SNMP_DOS nlmLogEntry.2 excluded
snmp-server view SNMP_DOS nlmLogVariableEntry.2 excluded
snmp-server view SNMP_DOS mplsXCLspId excluded
snmp-server view SNMP_DOS mplsLabelStackLabel excluded
snmp-server view SNMP_DOS cpaeMIBObject.5.1.3 excluded
snmp-server view SNMP_DOS cContextMappingBridgeDomainIdentifier excluded
snmp-server view SNMP_DOS cilmCurrentImageLevel excluded
snmp-server view SNMP_DOS cilmImageLicenseImageLevel excluded
snmp-server view SNMP_DOS cewProxyClass excluded
snmp-server view SNMP_DOS cewEventTime excluded
snmp-server view SNMP_DOS cpwVcPeerMappingVcIndex excluded
snmp-server view SNMP_DOS ciiSummAddrEntry excluded
snmp-server view SNMP_DOS mplsLdpLspFecStorageType excluded
snmp-server view SNMP_DOS mplsL3VpnIfConfEntry.2 excluded
snmp-server view SNMP_DOS mplsL3VpnVrfRTEntry.4 excluded
snmp-server view SNMP_DOS mplsL3VpnVrfRteEntry.7 excluded
snmp-server view SNMP_DOS ciscoFlashChipEntry excluded
snmp-server view SNMP_DOS cbgpPeer2CapValue excluded
snmp-server view SNMP_DOS cbgpPeer2AddrFamilyName excluded
snmp-server view SNMP_DOS cbgpPeer2AcceptedPrefixes excluded
snmp-server view SNMP_DOS callHomeDestEmailAddressEntry.2 excluded
snmp-server view SNMP_DOS callHomeSwInventoryEntry.3 excluded
snmp-server view SNMP_DOS cEigrpActive excluded
snmp-server view SNMP_DOS cipUrpfVrfIfDrops excluded
snmp-server view SNMP_DOS cefPathType excluded
snmp-server view SNMP_DOS cefAdjSource excluded
snmp-server view SNMP_DOS cefFESelectionSpecial excluded
snmp-server view SNMP_DOS cvVrfListVrfIndex excluded
snmp-server view SNMP_DOS ctspIpSgtMappingEntry.5 excluded
snmp-server view SNMP_DOS ciiRedistributeAddrEntry.4 excluded
snmp-server view SNMP_DOS ciiIPRAEntry.5 excluded
snmp-server view SNMP_DOS ciiLSPTLVEntry.2 excluded
snmp-server view SNMP_DOS ccmSeverityAlertGroupEntry.1 excluded
snmp-server view SNMP_DOS ccmPeriodicAlertGroupEntry.1 excluded
snmp-server view SNMP_DOS ccmPatternAlertGroupEntry.2 excluded
snmp-server view SNMP_DOS callHomeUserDefCmdEntry.2 excluded
snmp-server view SNMP_DOS ccmEventAlertGroupEntry.1 excluded
snmp-server view SNMP_DOS cipsStaticCryptomapType excluded
snmp-server view SNMP_DOS ciscoFlashFileEntry.2 excluded
IOS, IOS-XEsnmp-server view SNMP_DOS udp.7.1.8 excluded
snmp-server view SNMP_DOS tcp.19.1.7 excluded
snmp-server view SNMP_DOS tcp.20.1.4 excluded
snmp-server view SNMP_DOS inetCidrRouteEntry.7 excluded
snmp-server view SNMP_DOS ipAddressPrefixEntry.5 excluded
snmp-server view SNMP_DOS ipDefaultRouterEntry.4 excluded
snmp-server view SNMP_DOS 1.3.6.1.2.1.191.1.12.1.6 excluded
snmp-server view SNMP_DOS 1.3.6.1.2.1.92.1.3.1.1.2 excluded
snmp-server view SNMP_DOS 1.3.6.1.2.1.92.1.3.2.1.2 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.10.106.1.7.1.5 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.10.106.1.8.1.5 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.9.171.1.2.2.1.6 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.9.171.1.2.4.1.7 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.9.187.1.1.1.1.7 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.9.187.1.2.6.1.3 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.9.187.1.2.7.1.3 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.9.187.1.2.8.1.1 excluded
snmp-server view SNMP_DOS 1.3.6.1.2.1.10.166.4.1.3.10.1.4 excluded
snmp-server view SNMP_DOS 1.3.6.1.4.1.9.10.62.1.2.3.3.1.2 excluded
IOS-XR③SNMP v1またはv2cの場合、全ての設定済みコミュニティに適用する
snmp-server community mycomm view SNMP_DOS RO
IOS, IOS-XE, IOS-XR④SNMP v3の場合、全ての設定済みSNMPユーザーに適用する
snmp-server group v3group v3 auth read SNMP_DOS write SNMP_DOS
IOS, IOS-XE, IOS-XR【その他】SNMPに関連する基本的なセキュリティ
SNMPは多くの環境で運用管理に使用されている重要な要素ですが、ここから得られる情報は攻撃者にとっても同様に有益なものとなってしまいます。
今回の脆弱性に限らず、SNMPなど運用管理に関する機構については、基本的なセキュリティを構成する必要があります。
【基本1】v1とv2cでSNMP Communityにデフォルトのpulicやprivateなどを使用しない
コミュニティ名はパスワードと同様の役割になります。また、今回の脆弱性においても、攻撃者はROかRWのいずれかを問わず、正しいSNMP Communityを知っている必要があるため、これを容易に特定できない文字列とすることは、SNMPの運用における基本的な対処となります。
【基本2】SNMPでアクセス可能なマネージャをACLなどで制限する
以下のコンフィグレーションのようにアクセス元のSNMPマネージャを制限することで、許可していないアクセスからの要求をdropする動作となるため、これも基本的な対処となります。
access-list 1 permit host 10.0.0.1
snmp-server community hogehoge-snmp RO 1
SNMP ACL【基本3】SNMPを信頼できるネットワークとインターフェースに配置する
以下のコンフィグレーションのように、信頼できるネットワークに接続するVRFとインターフェースで稼働させることで、伝送動作とは隔離した運用とすることが可能です。また、環境によってはマネージャとの境界にFWを配置するなど、よりゾーニングした構成も多くお見受けします。
interface Vlan99
ip vrf forwarding SNMP
ip address 10.0.99.101 255.255.255.0
!
ip route vrf SNMP 0.0.0.0 0.0.0.0 10.0.99.1
!
snmp-server source-interface informs Vlan99
snmp-server community HOGEHOGE-SNMP RO 1
snmp-server trap-source Vlan99
snmp-server host 10.0.99.201 vrf SNMP version 2c HOGEHOGE-SNMP
SNMP with VRF【基本4】適切なアクセス権限を設定する
今回の脆弱性に対する暫定的な対処でもありますが、特にアクセス権限をRWにしている環境においては、参照可能なOIDを十分に考慮することが推奨されます。実際に、「ipFowarding / OID 1.3.6.1.2.1.4.1」などのOIDを標的とした攻撃が多発しています。
- ・そもそも、RWが必須で無ければROに変更する
- ・RWが運用で必要な場合は、viewを使用して不要なOIDへのアクセスを禁止する
まとめ
いかがだってしょうか。
SNMPは標準的に利用される利便性の高い運用管理のプロトコルですが、適切に取り扱わなければ大きなセキュリティリスクとなってしまいます。今回の記事で取り上げさせて頂いた脆弱性に限らず、実際にこれまでもSNMPを対象とした攻撃による被害は発生しており、この多くは先に述べたような基本的なセキュリティを怠っていることが要因となっています。
今回の脆弱性についても、単純に解消されたリリースへアップデートするのみではなく、今一度、運用管理のセキュリティが適切に施されているかを確認する良い機会ではないでしょうか。
この記事が、ご覧いただいた皆様へ少しでもお役に立てば幸いです。
- ※この記事は筆者個人の見解によるものであり、各メーカー様や当社としての意見や見解を示すものではありません。
- ※この記事に含まれる情報については、その内容について当社として何らの保証をするものではありません。
- ※この記事に含まれる情報を利用したことに起因する、利用者又は第三者が被る直接的及び間接的損害に関して、当社はその責任を一切負いません。