了解如何识别和缓解Cisco IOS XR路由器上的Mudhra证书风险,包括证书检查和补救步骤。
本文档为运行Cisco IOS XR软件的思科服务提供商路由平台提供操作指南和临时缓解程序,包括:
这些步骤可解决与eMudhra Certificate Authorities相关的潜在风险,如Cisco Security Advisory cisco-sa-emudhra-info-ScS22A1r中所述。
本文解释如何在IOS XR Linux证书存储中识别相关证书、评估潜在风险,并在适用时应用临时缓解程序。
在2026年10月17日至10月20日之间,在2025年4月的密钥生成仪式(Key Generation Certification,KGC)中,一个前所未有的密码缺陷被公开披露。由于在密钥生成期间出现中断的随机性,八(8)个Mudhra中间证书颁发机构(6个TLS颁发CA和2个代码签名CA)的私钥可在数秒内被非授权参与者分解和导出。
关键综合因素(Sectigo交叉签名):2025年5月,所有八个受侵害的中间CA都由Sectigo传统根(AAA证书服务)交叉签名。 由于Sectigo的根通常嵌入在公共信任库和企业信任库中,因此默认情况下,即使没有本地Mudhra根,这些受感染的中间CA颁发的证书也可在全局的操作系统和TLS堆栈中受信任。
IOS XR应用程序默认使用XR证书存储。IOS XR Linux CA捆绑包中包含两个eMudra证书。它们仅在以下三种特定情况下使用:
26.4.1(将于2026年11月30日发布)之前的任何Cisco IOS XR版本都包含这些CA证书。要验证XR设备上是否存在这些证书,请访问XR Linux CLI并验证certificates.conf文件的内容:
RP/0/RP0/CPU0:Router#run
[xr-vm_node0_RP0_CPU0:~]$grep "Comodo_AAA_Services_root.crt\|emSign_ECC_Root_CA_-_G3.crt" /etc/ca-certificates.conf
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
如果证书中提及一个或两个证书,则查找这两个文件的路径:
[xr-vm_node0_RP0_CPU0:~]$find / -type f \( -name "Comodo_AAA_Services_root.crt" -o -name "emSign_ECC_Root_CA_-_G3.crt" \) 2>/dev/null
/usr/share/ca-certificates/mozilla/Comodo_AAA_Services_root.crt
/usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt
如果这些文件存在,并且在certificates.conf中引用,则您的设备可能遭到攻击。
缓解步骤包括:
对于eXR版本
在前面加上“!” 到certificate.conf文件中包含受影响证书的每一行的开头
[xr-vm_node0_RP0_CPU0:~]$sed -i -E '/Comodo_AAA_Services_root\.crt|emSign_ECC_Root_CA_-_G3\.crt/s/^/!/' /etc/ca-certificates.conf
[xr-vm_node0_RP0_CPU0:~]$grep "Comodo_AAA_Services_root.crt\|emSign_ECC_Root_CA_-_G3.crt" /etc/ca-certificates.conf
!mozilla/Comodo_AAA_Services_root.crt
!mozilla/emSign_ECC_Root_CA_-_G3.crt
删除找到的证书
[xr-vm_node0_RP0_CPU0:~]$rm /usr/share/ca-certificates/mozilla/Comodo_AAA_Services_root.crt
[xr-vm_node0_RP0_CPU0:~]$rm /usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt
更新和同步系统范围的SSL/TLS证书
[xr-vm_node0_RP0_CPU0:~]$update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
尽管此过程最终很简单,但需要在每个VM(每个节点的default-sdr和sysadmin)和路由器的主机操作系统上重复此过程。
可以通过运行shell脚本自动执行此过程:
将脚本上传并复制到活动RP上的管理VM。然后访问管理虚拟机的Linux CLI
sysadmin-vm:0_RP0#copy harddisk:asr9k_remove_eMudhra_cert.sh location 0/RP0/CPU0/VM1 harddisk:
Tue Oct 27 01:59:29.149 UTC+00:00
Copying harddisk:asr9k_remove_eMudhra_cert.sh to harddisk:
asr9k_remove_eMudhra_cert.sh 100% 2410 2.4KB/s 00:00
File copied successfully
sysadmin-vm:0_RP0#
sysadmin-vm:0_RP0# run
[sysadmin-vm:0_RP0:~]$
添加执行权限并运行脚本
[sysadmin-vm:0_RP1:~]$chmod +x asr9k_remove_eMudhra_cert.sh
[sysadmin-vm:0_RP0:~]$./asr9k_remove_eMudhra_cert.sh
===== local node (this XR VM) =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
asr9k_remove_eMudhra_cert.sh
===== lc0_admin =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
===== lc0_xr =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
===== my_host =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
===== rsp0_xr =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
===== rsp1_admin =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
===== rsp1_xr =====
-- Entries found in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
对于XR7版本
思科IOS XR7软件使用SELinux,并且已在以下版本中的不同平台上启用实施:
验证实施状态。如果返回Permissive,则可以执行手动补救或脚本
RP/0/RP0/CPU0:Router-1#run
[node0_RP0_CPU0:~]$getenforce
Enforcing
RP/0/RP0/CPU0:Router-2#run
[node0_RP0_CPU0:~]$getenforce
Permissive
将脚本上传到活动RP。然后访问Linux CLI并切换到硬盘目录
RP/0/RP0/CPU0:Router#run
[node0_RP0_CPU0:~]$cd /misc/disk1
[node0_RP0_CPU0:/misc/disk1]$
添加执行权限并运行脚本
[node0_RP0_CPU0:/misc/disk1]$chmod +x xr7_remove_eMudhra_cert.sh
[node0_RP0_CPU0:/misc/disk1]$./xr7_remove_eMudhra_cert.sh
================ LOCAL NODE ================
Node: node0_RP0_CPU0
-- Matching lines in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
[RUN] prepend '!' to matching lines in /etc/ca-certificates.conf
[RUN] rm -f /usr/share/ca-certificates/mozilla/Comodo_AAA_Services_root.crt
[RUN] rm -f /usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt
[RUN] update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
0 added, 2 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Done: node0_RP0_CPU0
No reachable peer nodes found; only the local node was processed.
当前可用的脚本:
在所有XR7 aarch64平台上,补救将有效,因为实施将仅在即将发布的版本中引入。

提示:脚本可以在执行之前进行测试。
通过在命令末尾添加 — n,可以为eXR和XR7脚本提供干燥运行选项。它也可以在执行脚本后用于验证证书名称,该名称被注释和删除。
[node0_RP0_CPU0:/misc/disk1]$./xr7_remove_eMudhra_cert.sh -n
*** DRY RUN: no changes will be made ***
================ LOCAL NODE ================
Node: node0_RP0_CPU0
-- Matching lines in /etc/ca-certificates.conf:
mozilla/Comodo_AAA_Services_root.crt
mozilla/emSign_ECC_Root_CA_-_G3.crt
[DRY-RUN] sed -i '/Comodo_AAA_Services_root.crt\|emSign_ECC_Root_CA_-_G3.crt/ s/^\([^!]\)/!\1/' /etc/ca-certificates.conf
[DRY-RUN] rm -f /usr/share/ca-certificates/mozilla/Comodo_AAA_Services_root.crt
[DRY-RUN] rm -f /usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt
[DRY-RUN] update-ca-certificates
Done: node0_RP0_CPU0
No reachable peer nodes found; only the local node was processed.
| 版本 | 发布日期 | 备注 |
|---|---|---|
3.0 |
02-Nov-2026
|
添加了XR7系统的脚本 |
2.0 |
29-Oct-2026
|
添加了ASR 9000和NCS系列XR7系统和脚本的信息 |
1.0 |
28-Oct-2026
|
初始版本 |