目录
2023-02-07
Apache Kafka 2.3~3.4之间所有版本
在Apache Kafka Connect中发现了一个可能的安全漏洞。这需要访问Kafka Connect worker,并能够使用任意Kafka客户端SASL JAAS配置和基于SASL的安全协议在其上创建/修改连接器,这在Apache Kafka 2.3.0以来的Kafka Connect集群上已经成为可能。通过 Kafka Connect REST API 配置连接器时,经过身份验证的操作员可以将连接器的任何 Kafka 客户端的 sasl.jaas.config 属性设置为“com.sun.security.auth.module.JndiLoginModule”,它可以是 通过“producer.override.sasl.jaas.config”、“consumer.override.sasl.jaas.config”或“admin.override.sasl.jaas.config”属性完成。这将允许服务器连接到攻击者的LDAP服务器并反序列化LDAP响应,攻击者可以使用该响应在Kafka connect服务器上执行java反序列化gadget链。当类路径中存在指令片段时,攻击者可能会导致不受限制的不可信数据反序列化(或RCE漏洞)。从Apache Kafka 3.0.0开始,用户可以在connector配置中指定这些属性,以便使用开箱即用的配置运行Kafka Connect集群。在Apache Kafka 3.0.0之前,用户不能指定这些属性,除非Kafka Connect集群已经重新配置了连接器客户端覆盖策略,允许用户指定这些属性。
将您的Apache Kafka升级至 3.4.0版本及以上,从Apache Kafka 3.4.0开始,我们添加了一个系统属性(“-Dorg.apache.kafka.disallowed.login.modules”)来禁用SASL JAAS配置中有问题的登录模块使用。默认情况下“com.sun.security.auth.module.JndiLoginModule”在 Apache Kafka 3.4.0 中被禁用。我们建议 Kafka Connect 用户验证连接器配置并只允许受信任的 JNDI 配置。还要检查易受攻击版本的连接器依赖项,并升级其连接器、升级特定依赖项或删除连接器作为补救选项。 最后,除了利用“org.apache.kafka.disallowed.login.modules”系统属性外,Kafka Connect用户还可以实现自己的连接器客户端配置覆盖策略,该策略可以用来控制哪些Kafka客户端属性可以直接在连接器配置中覆盖,哪些不能。
A possible security vulnerability has been identified in Apache Kafka Connect. This requires access to a Kafka Connect worker, and the ability to create/modify connectors on it with an arbitrary Kafka client SASL JAAS config and a SASL-based security protocol, which has been possible on Kafka Connect clusters since Apache Kafka 2.3.0. When configuring the connector via the Kafka Connect REST API, an authenticated operator can set the
sasl.jaas.configproperty for any of the connector’s Kafka clients to “com.sun.security.auth.module.JndiLoginModule”, which can be done via theproducer.override.sasl.jaas.config,consumer.override.sasl.jaas.config, oradmin.override.sasl.jaas.configproperties. This will allow the server to connect to the attacker’s LDAP server and deserialize the LDAP response, which the attacker can use to execute java deserialization gadget chains on the Kafka connect server. Attacker can cause unrestricted deserialization of untrusted data (or) RCE vulnerability when there are gadgets in the classpath. Since Apache Kafka 3.0.0, users are allowed to specify these properties in connector configurations for Kafka Connect clusters running with out-of-the-box configurations. Before Apache Kafka 3.0.0, users may not specify these properties unless the Kafka Connect cluster has been reconfigured with a connector client override policy that permits them. Since Apache Kafka 3.4.0, we have added a system property (“-Dorg.apache.kafka.disallowed.login.modules”) to disable the problematic login modules usage in SASL JAAS configuration. Also by default “com.sun.security.auth.module.JndiLoginModule” is disabled in Apache Kafka 3.4.0. We advise the Kafka Connect users to validate connector configurations and only allow trusted JNDI configurations. Also examine connector dependencies for vulnerable versions and either upgrade their connectors, upgrading that specific dependency, or removing the connectors as options for remediation. Finally, in addition to leveraging the “org.apache.kafka.disallowed.login.modules” system property, Kafka Connect users can also implement their own connector client config override policy, which can be used to control which Kafka client properties can be overridden directly in a connector config and which cannot.
官方描述译文:
在Apache Kafka Connect中发现了一个可能的安全漏洞。这需要访问Kafka Connect worker,并能够使用任意Kafka客户端SASL JAAS配置和基于SASL的安全协议在其上创建/修改连接器,这在Apache Kafka 2.3.0以来的Kafka Connect集群上已经成为可能。通过 Kafka Connect REST API 配置连接器时,经过身份验证的操作员可以将连接器的任何 Kafka 客户端的 sasl.jaas.config 属性设置为“com.sun.security.auth.module.JndiLoginModule”,它可以是 通过“producer.override.sasl.jaas.config”、“consumer.override.sasl.jaas.config”或“admin.override.sasl.jaas.config”属性完成。这将允许服务器连接到攻击者的LDAP服务器并反序列化LDAP响应,攻击者可以使用该响应在Kafka connect服务器上执行java反序列化gadget链。当类路径中存在指令片段时,攻击者可能会导致不受限制的不可信数据反序列化(或RCE漏洞)。
从Apache Kafka 3.0.0开始,用户可以在connector配置中指定这些属性,以便使用开箱即用的配置运行Kafka Connect集群。在Apache Kafka 3.0.0之前,用户不能指定这些属性,除非Kafka Connect集群已经重新配置了连接器客户端覆盖策略,允许用户指定这些属性。从Apache Kafka 3.4.0开始,我们添加了一个系统属性(“-Dorg.apache.kafka.disallowed.login.modules”)来禁用SASL JAAS配置中有问题的登录模块使用。默认情况下“com.sun.security.auth.module.JndiLoginModule”在 Apache Kafka 3.4.0 中被禁用。我们建议 Kafka Connect 用户验证连接器配置并只允许受信任的 JNDI 配置。还要检查易受攻击版本的连接器依赖项,并升级其连接器、升级特定依赖项或删除连接器作为补救选项。 最后,除了利用“org.apache.kafka.disallowed.login.modules”系统属性外,Kafka Connect用户还可以实现自己的连接器客户端配置覆盖策略,该策略可以用来控制哪些Kafka客户端属性可以直接在连接器配置中覆盖,哪些不能。
| 版本 | 重大更新 | 可能造成升级冲突的改动 | 全部更新内容 |
| 2.3 |
| https://archive.apache.org/dist/kafka/2.3.0/RELEASE_NOTES.html | |
| 2.4 |
| https://archive.apache.org/dist/kafka/2.4.0/RELEASE_NOTES.html | |
| 2.5 |
| https://archive.apache.org/dist/kafka/2.5.0/RELEASE_NOTES.html | |
| 2.6 |
| 将 Zookeeper 升级到 3.5.8 | https://archive.apache.org/dist/kafka/2.6.0/RELEASE_NOTES.html |
| 2.7 |
| https://archive.apache.org/dist/kafka/2.7.0/RELEASE_NOTES.html | |
| 2.8 |
| 移除对Zookeeper的依赖,使用KRaft | https://archive.apache.org/dist/kafka/2.8.0/RELEASE_NOTES.html |
| 3.0 |
| 弃用Java8以及Scala2.12(4.0版本将完全放弃) | https://archive.apache.org/dist/kafka/3.0.0/RELEASE_NOTES.html |
| 3.1 |
| ||
| 3.2 |
| log4j 1.x 替换为 reload4j | https://archive.apache.org/dist/kafka/3.2.0/RELEASE_NOTES.html |
| 3.3.1 |
| https://archive.apache.org/dist/kafka/3.3.1/RELEASE_NOTES.html | |
| 3.4 |
| 新增ZooKeeper 到 KRaft 的迁移功能(Early Access) |
参考文献:
[1]http://vulhub.org.cn/vuln/VHN-454125
[2]Apache Kafka
相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声
首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有, 也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
目录1.漏洞简介2、AJP13协议介绍Tomcat主要有两大功能:3.Tomcat远程文件包含漏洞分析4.漏洞复现 5、漏洞分析6.RCE实现的原理1.漏洞简介2020年2月20日,公开CNVD的漏洞公告中发现ApacheTomcat文件包含漏洞(CVE-2020-1938)。ApacheTomcat是Apache开源组织开发的用于处理HTTP服务的项目。ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件。该漏洞是一个单独的文件包含漏洞,依赖于Tomcat的AJP(定向包协议)。AJP自身存在一定缺陷,导致存在可控
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile
转自:spring.profiles.active和spring.profiles.include的使用及区别说明下文笔者讲述spring.profiles.active和spring.profiles.include的区别简介说明,如下所示我们都知道,在日常开发中,开发|测试|生产环境都拥有不同的配置信息如:jdbc地址、ip、端口等此时为了避免每次都修改全部信息,我们则可以采用以上的属性处理此类异常spring.profiles.active属性例:配置文件,可使用以下方式定义application-${profile}.properties开发环境配置文件:application-dev
原始问题Letd(n)bedefinedasthesumofproperdivisorsofn(numberslessthannwhichdivideevenlyinton).Ifd(a)=bandd(b)=a,whereab,thenaandbareanamicablepairandeachofaandbarecalledamicablenumbers.Forexample,theproperdivisorsof220are1,2,4,5,10,11,20,22,44,55and110;therefored(220)=284.Theproperdivisorsof284are1,2,
我正在使用Maruku,将Markdown(超集)转换为HTML,你知道我该怎么做才能从HTML转换为Markdown吗? 最佳答案 Google发现了一个名为reverse_markdown的ruby脚本.它似乎可以满足您的需求。 关于ruby-on-rails-我需要从HTML转到markdown,有什么建议吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/175162
多年来,我在各种网站上遇到过各种问题,用户在字符串和文本字段的开头/结尾放置空格。有时这些会导致格式/布局问题,有时会导致搜索问题(即搜索顺序看起来不对,但实际上并非如此),有时它们实际上会使应用程序崩溃。我认为这会很有用,而不是像我过去所做的那样放入一堆before_save回调,向ActiveRecord添加一些功能以在保存之前自动调用任何字符串/文本字段上的.strip,除非我告诉它不是,例如do_not_strip:field_x,:field_y或类定义顶部的类似内容。在我去弄清楚如何做到这一点之前,有没有人看到更好的解决方案?明确一点,我已经知道我可以做到这一点:befor