CVE-2024-10525 漏洞修复方案
一、漏洞说明
Eclipse Mosquitto 是一款开源的轻量级消息代理软件,遵循 Eclipse Public License v2.0 开源协议,主要用于在物联网(IoT)和机器对机器(M2M)通信中实现消息的发 布和订阅功能。它支持 MQTT 协议,该协议以其高效性和低开销而闻名,特别适用于 网络带宽有限或设备资源受限的场景。
在 Eclipse Mosquitto,从版本 1.3.2 到 2.0.18 之间,如果恶意代理发送一个没有原 因代码的精心构造的 SUBACK 包,使用 libmosquitto 的客户端在其 on_subscribe 回调中 可能会进行越界内存访问。这影响 mosquitto_sub 和 mosquitto_rr 客户端。
威胁等级:中危
评分向量:CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L(5.6)
漏洞影响性说明
- (1) 漏洞被利用前提条件
操作系统有安装受漏洞影响的 mosquitto 组件且 mosquitto 服务处于对外开启状态;
或攻击者的恶意代理能够与使用操作系统的 libmosquitto 库的客户端进行网络通信。 - (2) 漏洞被利用可能性
该漏洞被黑客利用的可能性较低,原因是利用条件较苛刻,在真实场景下能够造成的危害有限,由于操作系统默认的安全机制(如:地址空间布局随机化(ASLR)、数据执行保护(DEP)),其缓冲区溢出漏洞导致代码执行的可能性低。
二、受影响的版本
以下产品为目前排查的主线版本。
默认不受影响情况指镜像中默认未集成此组件,如客户主动通过软件源安装受影响的组件包,则需进行漏洞修补。服务器系统因有多种安装模式,包默认安装情况以客户实际环境为准。不涉及指此包未引入对应系统。
桌面系统
| 桌面系统分支 | 解决版本 | 补丁获取 |
|---|---|---|
| 银河麒麟桌面操作系统 V10 SP1 2107 | 默认情况不受影响 |
KYSA-202503-0015 |
| 银河麒麟桌面操作系统 V10 SP1 2203 | 默认情况不受影响 |
同上 |
| 银河麒麟桌面操作系统 V10 SP1 2303 | 修复版本:1.6.9-1kylin0.1~esm1k0.3 | 同上 |
| 银河麒麟桌面操作系统 V10 SP1 2403 | 修复版本:1.6.9-1kylin0.1~esm1k0.3 | 同上 |
| 银河麒麟桌面操作系统 V10 | 默认情况不受影响 |
KYSA-202503-0030 |
服务器系统
| 服务器系统分支 | 解决版本 | 补丁获取 |
|---|---|---|
| 银河麒麟高级服务器操作系统 V10 SP1 | 修复版本: 1.6.15-7.p04.ky10(x86_64、aarch64、mips64) 1.6.15-7.p04.a.ky10(loongarch64) |
KYSA-202503-1022 KYSA-202503-1021 |
| 银河麒麟高级服务器操作系统 V10 SP2 | 修复版本: 1.6.15-7.p05.ky10(x86_64、aarch64) |
KYSA-202503-1024 |
| 银河麒麟高级服务器操作系统 V10 SP3 | 修复版本: 1.6.15-7.p05.ky10(x86_64、aarch64) 1.6.15-7.p05.a.ky10(loongarch64) |
KYSA-202503-1024 KYSA-202503-1023 |
| 银河麒麟高级服务器操作系统(Host 版)V10 | 修复版本: 1.6.15-7.p05.ky10(x86_64、aarch64) |
KYSA-202503-1024 |
| 银河麒麟高级服务器操作系统 V10 SP3 2403 | 修复版本: 1.6.15-7.p06.ky10(x86_64、aarch64) 1.6.15-7.p06.a.ky10(loongarch64) |
KYSA-202503-1026 KYSA-202503-1025 |
| 中标麒麟高级服务器操作系统 V7 | 不涉及 | |
| 银河麒麟高级服务器操作系统 V10 | 不涉及 | |
| 中标麒麟高级服务器操作系统 V6 | 不涉及 | |
| 银河麒麟高级服务器操作系统(兼容版) V10 | 不涉及 |
补充说明:如遇到不在此列表中的系统,可尝试部署 缓解措施
三、漏洞修复
-
桌面补丁修复方法
(1)查询软件包版本
使用软件包查询命令,查看相关的软件包版本大于或等于修复版本则成功修复。没有查询到的,就不用做修复。sudo dpkg -l |grep mosquitto(2)离线补丁升级安装
根据安全公告链接下载相关软件包,使用软件包安装命令根据受影响的软件包列表,安装相关的组件包。

如上图所示,系统上安装有 libmosquitto1 的软件包,但是没有mosquitto的软件包,只需要安装 libmosquitto1 这个包的补丁即可,可以鼠标双击这个软件包进行安装,也可以用命令安装,如下图所示:sudo dpkg -i libmosquitto1_1.6.9-1kylin0.1_esm1k0.3_amd64.deb
-
服务器补丁修复方法
(1)离线补丁升级安装
根据安全公告链接下载相关软件包,使用软件包升级命令根据受影响的软件包列表升级相关的组件包。sudo rpm -ivh Package1 Package2 Package3……(2)在线补丁修复方法
● 查询系统已安装相关包sudo rpm -qa | grep mosquitto● yum 指令安装系统相关包
yum install Package1 Package2 Package3……
四、漏洞修复验证
-
桌面验证方式:
(1) 查询系统版本
查看受影响表格,通过安装的系统版本进行判定是否有相关漏洞。
(2) 查询软件包版本
使用软件包查询命令,查看相关的软件包版本大于或等于修复版本则成功修复。sudo dpkg -l |grep mosquitto -
服务器验证方式:
(1) 查询系统版本
通过执行以下命令查看系统版本,对比查看受影响表格,判定该系统版本是否有相关漏洞。nkvers(2)查询软件包版本
使用软件包查询命令,查看相关软件包版本是否与修复版本一致,如果版本一致,则说明修复成功。rpm -qa | grep mosquitto补充说明:如遇到查询不到的系统,可尝试部署 缓解措施 。