[我的CVE][CVE-2017-15709]Apache ActiveMQ Information Leak
问题原因:
Apache ActiveMQ默认消息队列61616端口对外,61616端口使用了OpenWire协议,这个端口会暴露服务器相关信息,这些相关信息实际上是debug信息。
会返回应用名称,JVM,操作系统以及内核版本等信息。

影响版本:


测试用例:
修复前:
@Test
- public void testClientProperties() throws Exception{
- BrokerService service = createBrokerService();
- try {
- ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(new URI(brokerUri));
- ActiveMQConnection conn = (ActiveMQConnection)factory.createConnection();
- final AtomicReference<WireFormatInfo> clientWf = new AtomicReference<WireFormatInfo>();
- conn.addTransportListener(new DefaultTransportListener() {
- @Override
- public void onCommand(Object command) {
- if (command instanceof WireFormatInfo) {
- clientWf.set((WireFormatInfo)command);
- }
- }
- });
- conn.start();
- if (clientWf.get() == null) {
- fail("Wire format info is null");
- }
- assertTrue(clientWf.get().getProperties().containsKey("ProviderName"));
- assertTrue(clientWf.get().getProperties().containsKey("ProviderVersion"));
- assertTrue(clientWf.get().getProperties().containsKey("PlatformDetails"));
- assertTrue(clientWf.get().getProviderName().equals(ActiveMQConnectionMetaData.PROVIDER_NAME));
- assertTrue(clientWf.get().getPlatformDetails().equals(ActiveMQConnectionMetaData.PLATFORM_DETAILS));
- } finally {
- stopBroker(service);
修复后:
+ public void testClientPropertiesWithDefaultPlatformDetails() throws Exception{
+ WireFormatInfo clientWf = testClientProperties(brokerUri);
+ assertTrue(clientWf.getPlatformDetails().equals(ActiveMQConnectionMetaData.DEFAULT_PLATFORM_DETAILS));
+ }
+
+ @Test
+ public void testClientPropertiesWithPlatformDetails() throws Exception{
+ WireFormatInfo clientWf = testClientProperties(brokerUri + "?wireFormat.includePlatformDetails=true");
+ assertTrue(clientWf.getPlatformDetails().equals(ActiveMQConnectionMetaData.PLATFORM_DETAILS));
+ }
+
+ private WireFormatInfo testClientProperties(String brokerUri) throws Exception {
+ ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(new URI(brokerUri));
+ ActiveMQConnection conn = (ActiveMQConnection)factory.createConnection();
+ conn.start();
+
+ assertTrue(connector.getConnections().size() == 1);
+ final WireFormatInfo clientWf = connector.getConnections().get(0).getRemoteWireFormatInfo();
+ if (clientWf == null) {
+ fail("Wire format info is null");
}
+
+ //verify properties that the client sends to the broker
+ assertTrue(clientWf.getProperties().containsKey("ProviderName"));
+ assertTrue(clientWf.getProperties().containsKey("ProviderVersion"));
+ assertTrue(clientWf.getProperties().containsKey("PlatformDetails"));
+ assertTrue(clientWf.getProviderName().equals(ActiveMQConnectionMetaData.PROVIDER_NAME));
+
+ return clientWf;
}
修复版本:
Apache Active MQ 5.14.6
Apache Active MQ 5.15.3
Apache Active MQ 5.16.0
官方公布的草案:
CVE-- - Information Leak Severity: Low Vendor:
The Apache Software Foundation Versions Affected:
Apache ActiveMQ 5.14. - 5.15. Description: When using the OpenWire protocol it was found that certain system details (such as the OS and kernel version) are exposed as plain text. Mitigation: Use a TLS enabled transport or upgrade to Apache ActiveMQ 5.14. or 5.15.. Credit: This issue was discovered by QingTeng cloud Security of Minded Security Researcher jianan.huang
参考信息:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15709
https://issues.apache.org/jira/browse/AMQ-6871
http://activemq.apache.org/security-advisories.html
http://activemq.apache.org/security-advisories.data/CVE-2017-15709-announcement.txt
[我的CVE][CVE-2017-15709]Apache ActiveMQ Information Leak的更多相关文章
- 消息队列MQ - Apache ActiveMQ
Apache ActiveMQ是Apache软件基金会所研发的开放源码消息中间件:由于ActiveMQ是一个纯Jave程式,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行. 1.que ...
- Apache ActiveMQの版本更迭和Apache ActiveMQの故障转移
本文描述apache activemq 版本更迭的原因以及Apache ActiveMQのThe Failover Transport new features in 5.2.0 1.对信息的传输/ ...
- apache activemq的重连
1.activemq的重连机制 maxReconnectAttempts -1 | 0 From version 5.6 onwards: -1 is default and means retry ...
- apache activemq 学习笔记
0.activemq的概念 activemq实现了jms(java Message server),用于接收,发送,处理消息的开源消息总线. 1.activemq和jms的区别 jms说白了就是jav ...
- How to Setup Replicated LevelDB Persistence in Apache ActiveMQ 5.9--转载
原文地址:https://simplesassim.wordpress.com/2013/11/03/how-to-setup-replicated-leveldb-persistence-in-ap ...
- Apache ActiveMQ消息中间件的基本使用
Apache ActiveMQ是Apache软件基金会所研发的开放源码消息中间件:由于ActiveMQ是一个纯Java程式,因此只需要操作系统支援Java虚拟机,ActiveMQ便可执行. 支持Jav ...
- Apache ActiveMQ实战(2)-集群
ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这些问题--集群的两种方式: Master slave Broker clusters ActiveMQ的集群有两种方式: ...
- Apache ActiveMQ实战(1)-基本安装配置与消息类型
ActiveMQ简介 ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用Apache ...
- Linux下apache activemq的安装与配置
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范 的 JMS Provider实现,尽管JMS规范出台已经是很 ...
随机推荐
- HBase-存储-概览
概览 HBase主要处理两种文件:一种是预写日志(Write-Ahead Log,WAL),另一种是实际的数据文件.这两种文件主要由HRegionServer管理.在某些情况下,HMaster也可以进 ...
- nodejs下载安装教程(XP版)
Node.js 下载安装教程(XP版) 参考自:https://www.cnblogs.com/zhouyu2017/p/6485265.html(win10版) 一.安装环境 Windows Xp( ...
- vim 乱码问题的方法参考
linux 中设置当前用户的系统默认编码为 UTF-8 格式解决 vim 乱码问题的方法参考 任侠 2013-05-02 11:58 电脑基础 抢沙发 13,732 views 在使用 l ...
- Qt QTreeWidget节点的添加+双击响应+删除详解
转自: http://www.cnblogs.com/Romi/archive/2012/08/08/2628163.html 承接该文http://www.cnblogs.com/Romi/arch ...
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) D. Generating Sets 贪心+优先队列
D. Generating Sets time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- java异常中的finally(二)
对于含有return语句的情况,这里我们可以简单地总结如下: try语句在返回前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,而后分为以下三种情况: 情况一:如果fi ...
- php攻击漏洞总结
1.两字节编码(gbk)都存在宽字节攻击问题[character_set_client=gbk] 案例:http://www.cnblogs.com/lcamry/articles/5625276.h ...
- Linux命令之sort用法
linux之sort用法 sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内 ...
- (转) Android Fragment完全解析,关于碎片你所需知道的一切
我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activity也有它的局限性,同样的界面在手机 ...
- kylin_异常_02_java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf 解决办法
一.异常现象 在kylin的web管理界面,设置hive数据源时,报错: 查找kylin的日志时发现,弹出提示框的原因是因为出现错误: ERROR [http-bio-7070-exec-10] co ...