笔者之前就说过自己选择国产操作系统的观点,其中一项观察依据就是发漏洞补丁是否及时。原文详见:
现在,观察的契机来了:
Linux 最新 CVE 9.9 分末日漏洞,还居然被偷家先泄露给黑产
那么截止2024年10月2日本文发出时,观察的结果如何呢?
笔者:国际认证信息系统审计师、软考系统分析师、软件工程硕士
在观察国产操作系统之前,还是必须先说说外面的情况。由于漏洞信息被泄露到了黑产领域,导致发现漏洞的研究员要提前公布漏洞信息,与此同时,Red Hat 也加快了释出补丁的速度,对于 RHEL 9,在9月28日释出了补丁,而对于RHEL 8,延至10月2日也已经释出了补丁[1]。
必须注意到 RHEL 7 是受影响的,但由于生命周期已经终结,所以不会有补丁。因此,国内很多厂商之前继承于 CentOS 7 并承诺延长其生命周期的发行版,都需要通过自己的力量开发补丁。
于是,对于国产操作系统厂商来说,眼前这个 CUPS 组合式漏洞,需要同时实现三种情况的补丁:
1)当前提供主流支持的版本
2)还提供支持的继承自 RHEL/CentOS 7的版本
3)前瞻测试版本(如果有)
本文观察的重点落在情况1),读者可自行补充对情况2)和3)的观察。
观察方法既可以是信息性的:在官方网站按漏洞的 CVE 编号/产品名称等信息查找漏洞补丁说明,也可以是实践性的:观察镜像站的包更新页面是否有发布更新,或者直接运行 dnf update 之类的更新操作观察是否获取到更新。
首先是以直接继承 RHEL 的 Circle Linux 为例进行观察。在镜像站的包分发路径:
https://mirror.cclinux.org/pub/circle/8/AppStream/x86_64/os/Packages/c/
可以观察到 Circle Linux 8 已存在更新的补丁,1.20.0-35:
cups-filters-1.20.0-35.el8_10.x86_64.rpm 02-Oct-2024 03:16 769K
cups-filters-libs-1.20.0-35.el8_10.x86_64.rpm 02-Oct-2024 03:16 136K
版本号 1.20.0-35 与 Red Hat 在 Errata 页面[2] 上发布的是一致的。
但观察 Circle Linux 9 的包分发页面,却还未找到更新。从目录的更新日期还在 2024-07-31 这一点来看,可能都还未 BUILD。只是 Circle Linux 是个比较单纯的社区发行版,不能要求太多。
从以上情况观察认为,有释出补丁但不齐。
或许有人会问,为何笔者不是先看 Rocky Linux。原因只是 Rocky Linux 不是国内发起的 RHEL 继承项目。事实上 Rocky Linux 跟得很紧,比如在 SJTU 的 Rocky Linux 9 镜像,包分发路径:
https://mirror.sjtu.edu.cn/rocky/9.4/AppStream/x86_64/os/Packages/c/
已经有了更新:
cups-filters-1.28.7-17.el9_4.x86_64.rpm 766 KiB 9/28/2024, 11:59:55 AM
cups-filters-libs-1.28.7-17.el9_4.x86_64.rpm 133 KiB 9/28/2024, 11:59:54 AM
因为 openEuler 的版本太多了,一个个看觉得甚是耗时,于是直接到其安全公告网站:
https://www.openeuler.org/zh/security/cve/
查找 cups 或者4个 CVE 编号的任一,比如 CVE-2024-47176。
结果是,当按 CUPS 查找时,最新的记录是 CVE-2024-35235,2024年6月28日,并不相关。而按本次 CUPS 漏洞涉及的四个 CVE 编号进行查找则均未返回结果。
不死心。按 openEuler 生命周期说明,当前必定在支持期内的 22.03 LTS 和 22.03 LTS SP4 两个版本找到镜像站,观察包分发路径:
https://mirror.sjtu.edu.cn/openeuler/openEuler-22.03-LTS/update/x86_64/Packages/
https://mirror.sjtu.edu.cn/openeuler/openEuler-22.03-LTS-SP4/update/x86_64/Packages/
前一个路径的 CUPS 相关更新没有2024年的,后一个页面的 CUPS 相关更新日期是2024年9月6日,显然和本次的漏洞无关。
从以上情况观察认为,尚未释出补丁。
补充:龙蜥已在10月3号释出补丁更新。
安全公告页面位于:
https://anas.openanolis.cn/errata
查询关键词 CUPS,返回最新的记录是2024年8月7日发布的 CVE-2024-35235,和 openEuler 一样的信息,并不是本次漏洞的4项之一。
同样地,查询4项 CVE 编号,均无结果返回。
慎重起见,检查镜像站的包分发位置,简单点就只观察 Anolis OS 8.9 的(Anolis OS 23 属于前述的情况3,本文不涉及):
https://mirror.nju.edu.cn/anolis/8.9/AppStream/x86_64/os/Packages/?C=M&O=A
在页面筛选 CUPS,和本次漏洞相关的软件包比如 cups-filters 和 cups-filters-libs,版本号是 1.20.0-34:
cups-filters-libs-1.20.0-34.0.1.an8.x86_64.rpm 134692 2024-07-16 11:18:32
cups-filters-1.20.0-34.0.1.an8.x86_64.rpm 730904 2024-07-16 11:18:35
也就是 RHEL 补丁的上一个版本(注意-34和-35的补丁序号区别)
从以上情况观察认为,尚未释出补丁。
Tencent OS 是继承自 RHEL 且二进制兼容。不过作为面向云用途的操作系统笔者就没有将其和 RHEL 直接等同起来看待。
刚好手头的虚机还在,于是采取直接安装 CUPS 的方法检查版本号。过程执行后,获得的 CUPS 相关包信息,关键的 cups-filters 和 cups-filters-libs 均为 1.20.0-34,同样是 RHEL 补丁的上一个版本号。
从以上情况观察认为,尚未释出补丁。
必须先吐个槽,叫麒麟的太多了。
观察 openKylin 的镜像站包发布位置:
https://mirror.sjtu.edu.cn/openkylin/pool/main/c/cups/
https://mirror.sjtu.edu.cn/openkylin/pool/main/c/cups-filters/
观察更新日期是2024年的 amd64 build 的包,日期均早于本次漏洞的发现日期,例如:
cups-client_2.4.7-ok1_amd64.deb 146.5 kiB 06/11/2024, 03:20:24 PM
cups-filters_2.0.0-ok1_amd64.deb 111.1 kiB 06/05/2024, 03:40:33 PM
于是再查看其安全漏洞公告页面,地址:
https://www.openkylin.top/patch/
最新公告是2024年3月25日。
从以上情况观察认为,尚未释出补丁。
安全漏洞发布地址:
https://www.kylinos.cn/support/loophole/patch.html
页面甫一打开就清晰地看到发布时间为 2024-09-30 的 CUPS 安全漏洞公告,编号从 KYSA-202409-0074 到 KYSA-202409-0079。
公告内容有直接给出软件补丁捆绑包下载地址,这挺方便不接入互联网的计算机打补丁。于是下载补丁捆绑包观察内容,可以发现是包含了如下的软件包:
版本号统一为 2.3.1-9,日期均为2024年9月30日,看来是及时补上了漏洞。
但安全公告中说明,此安全漏洞补丁公告仅适用于银河麒麟桌面操作系统。刚好笔者之前配置了麒麟服务器版本的虚机,其具体版本是:
cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Halberd)
于是尝试通过更新获得补丁,但执行 dnf update 之后,发现安装的 CUPS 相关 RPM 包,版本只是前进到 2.2.13-21。
转向观察包发布地址:
https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/updates/x86_64/Packages/
可以发现,2.2.13-21 这个版本的释出时间是 2024年9月19日,早于本次漏洞?公告日期,因此并不是本次漏洞的补丁版本。
从以上情况观察认为,已发布安全公告,已释出桌面版操作系统的补丁,但并未释出服务器版操作系统的补丁。
查看安全公告页面,地址:
https://security.opencloudos.tech/cve/oc8.xml
最新的安全公告条目日期为2024-09-25,CVE-2024-38517等若干项,均和 CUPS 无关。
观察镜像站,对应当前有效的 8.10 和 9.2 两个版本的地址如下:
https://mirrors.opencloudos.tech/opencloudos/8.10/AppStream/x86_64/os/Packages/
https://mirrors.opencloudos.tech/opencloudos/9.2/AppStream/x86_64/os/Packages/
观察发现,8.10 地址发布的 CUPS 更新均早于本次漏洞发布日期。而 9.2 地址则在 2024年9月29日 发布了一系列的更细,版本号是 2.4.6-7 和 1.28.16-10,例如:
cups-2.4.6-7.oc9.x86_64.rpm 29-Sep-2024 14:38 1M
cups-filters-1.28.16-10.oc9.x86_64.rpm 29-Sep-2024 12:02 745K
cups-ipptool-2.4.6-7.oc9.x86_64.rpm 29-Sep-2024 14:38 4M
鉴于公告页面没有相关信息,于是下载这些补丁包的源码 rpm 包,解开检查,下载地址:
https://mirrors.opencloudos.tech/opencloudos/9.2/AppStream/source/tree/Packages/cups-filters-1.28.16-10.oc9.src.rpm
发现其中有补丁文件 0002-fix-CVE-2024-47076.patch,如下图:
这样看这释出的确实就是对应本次漏洞的补丁。
从以上情况观察认为,已释出补丁,但不是所有版本,且缺公告。
简单补充:UOS 已在统信安全应急响应中心的安全公告:
https://src.uniontech.com/#/security_advisory
发布编号为 UTSA-2024-004333 等相关安全公告多份,发布时间为9月30日,覆盖服务器A/C/E 系列 1050/1060/1070 版本及桌面专业版,可手工下载补丁,但手头免费版1070E执行 dnf update 未见更新,加上未知源码包所在而没有深究该补丁。
简单认为已发布公告和释出了补丁,但尚未发布到自动更新通道。
继续补充,中科方德在9月30日已释出补丁更新,版本号1.20.0-27.2。但安全公告尚未能找到,看来要等国庆假期之后。
其实并不是很难概括,从笔者以上观察结果可以发现实际并没有哪个国产操作系统是及时且全面地发布了漏洞更新。大部分完全没有这回事,少部分及时发布了公告和更新但没有发布到自动更新通道,需要手工安装。
笔者以上观察过程因时间、精力所限,加上补丁释出的过程是动态的,当读者看到此文时,文中提交的各操作系统厂商可能已经释出了补丁版本。
因此,如果读者清楚某操作系统的补丁已经释出,请留言指出,以方便其他阅读本文的读者能及时跟进修补。
参考引用:
[1] Red Hat Customer Portal CVE-2024-47076 https://access.redhat.com/security/cve/cve-2024-47076
[2] RHSA-2024:7463 - Security Advisory https://access.redhat.com/errata/RHSA-2024:7463
注:题头图使用豆包生成。
本站微信订阅号:
本页网址二维码: