ZCyberNews
English
漏洞高危5 分钟阅读
CVE-2026-8741

EMQX QoS 2 竞态条件 CVE-2026-8741 影响至 6.2.0

CVE-2026-8741 (CVSS 3.1) 允许远程利用 EMQX 的 QoS 2 发布数据包处理器中的竞态条件,影响所有版本至 6.2.0。

EMQX QoS 2 竞态条件 CVE-2026-8741 影响至 6.2.0

执行摘要

在开源MQTT消息代理EMQX中披露了一个赛跑条件漏洞,跟踪编号为CVE-2026-8741,影响所有版本,包括6.2.0。该漏洞存在于文件apps/emqx/src/emqx_persistent_session_ds.erl中的QoS 2 PUBLISH数据包处理器。根据NVD条目和研究员Pathfind-tama的公开报告,该漏洞使远程攻击者能够触发可能破坏持久会话状态的赛跑条件。CVSS 3.1基础得分为3.1,反映了高攻击复杂性和困难的利用条件。截至2026年5月17日,尚未发布补丁。

技术分析

该漏洞特别针对EMQX持久会话子系统中的QoS 2(仅一次)交付机制。QoS 2是MQTT服务质量的最高级别,需要四次数据包握手以确保消息仅交付一次。赛跑条件出现在emqx_persistent_session_ds.erl模块中,该模块管理持久订阅者的会话状态。

根据研究员在GitHub上的报告,该漏洞可以通过在特定时间条件下发送精心设计的QoS 2 PUBLISH数据包序列来触发。赛跑窗口出现在会话状态查找和更新之间,可能导致不一致的会话元数据。成功利用此漏洞的攻击者可能会导致消息重复、会话不同步或拒绝服务,针对依赖持久会话的合法订阅者。

EMQX在物联网、工业控制和电信环境中广泛部署,MQTT代理处理数百万设备。持久会话功能对于间歇性连接的设备至关重要,因为它允许代理存储未交付的消息,直到客户端重新连接。此子系统中的赛跑条件可能会破坏许多操作技术部署所依赖的交付保证。

CVSS 3.1向量字符串尚未由NVD完全发布,但分配的基础得分3.1表明攻击需要显著的专业知识和有利的网络条件。根据来源材料,该漏洞被分类为高复杂性难以利用。没有公开发布概念验证漏洞利用代码。

缓解措施与建议

截至本文撰写时,EMQX尚未发布解决CVE-2026-8741的补丁版本。运行EMQX 6.2.0或更早版本的组织应采取以下步骤:

  • 监控EMQX官方渠道(GitHub、论坛、邮件列表)以获取安全发布。修复可能会涉及在emqx_persistent_session_ds.erl处理器中添加适当的锁定或原子操作。
  • 限制对MQTT代理的网络访问,仅限于受信任的客户端。使用TLS双向认证和IP允许列表以减少攻击面。
  • 如果操作要求允许,为不受信任的客户端连接禁用QoS 2。QoS 1(至少一次)或QoS 0(至多一次)不会触发易受攻击的代码路径。
  • 在EMQX中启用会话审计以检测异常的会话状态转换。来自持久会话模块的日志可能会揭示利用尝试。
  • 将物联网/OT网络与企业IT基础设施分隔,以限制在发生妥协时的爆炸半径。

尽管CVSS得分较低,但防御者应谨慎对待此漏洞,因为对会话完整性的影响可能会在关键基础设施设置中导致数据丢失或错误传递。

订阅更新

将最新的网络安全资讯直接发送到您的邮箱。

标签:#emqx#mqtt#race-condition#cve-2026-8741#iot#message-broker

相关文章