您现在的位置是:系统运维 >>正文
Apache Avro SDK曝关键漏洞,可在Java中执行任意代码
系统运维63人已围观
简介Apache Avro Java软件开发工具包SDK)中披露了一个关键安全漏洞,如果成功利用,可以在易受攻击的实例上执行任意代码。该漏洞编号为CVE-2024-47561,影响1.11.4之前版本的所 ...
Apache Avro Java软件开发工具包(SDK)中披露了一个关键安全漏洞,关键如果成功利用,漏洞可以在易受攻击的中执行实例上执行任意代码。该漏洞编号为CVE-2024-47561,任意影响1.11.4之前版本的代码所有软件 。Databricks安全团队的关键Kostya Kortchinsky被发现并报告了这个安全缺陷。

Apache Avro与谷歌的漏洞Protocol Buffers(protobuf)类似,是中执行一个为大规模数据处理提供语言中立的源码下载数据序列化框架的开源项目 ,提供紧凑、任意快速且高效的代码数据格式。它在大数据处理 、关键分布式系统和云计算中被广泛使用。漏洞项目维护者发布公告称,中执行“Apache Avro 1.11.3及之前版本的任意Java SDK中的模式解析允许恶意行为者执行任意代码 ,建议用户升级到1.11.4或1.12.0版本 ,香港云服务器代码这些版本修复了此问题。”
Avro团队进一步指出,如果应用程序允许用户提供自己的Avro模式进行解析,则该漏洞会影响任何应用程序 。
“CVE-2024-47561影响Apache Avro 1.11.3及之前版本 ,在通过avroAvro模式反序列化接收到的输入时。处理来自威胁行为者的此类输入会导致代码执行 。根据我们的威胁情报报告 ,云计算没有公开的PoC,但这个漏洞存在于通过ReflectData和SpecificData指令处理包时,也可以通过Kafka利用。
缓解措施
1. 更新 Apache Avro SDK确保您使用的是最新版本的 Apache Avro SDK来解决此漏洞 。
复制xml <!-- 示例 Maven 依赖 --> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>1.10.2</version> <!-- 使用最新版本 --> </dependency>1.2.3.4.5.6.7. 2. 验证输入数据在反序列化任何数据之前,请根据预定义的模式对其进行验证,或使用白名单方法确保只处理预期的亿华云数据格式 。
复制java import org.apache.avro.Schema; import org.apache.avro.file.DataFileReader; import org.apache.avro.generic.GenericDatumReader; import org.apache.avro.generic.GenericRecord; import org.apache.avro.io.DatumReader; import java.io.File; public class AvroDeserializer { public static void main(String[] args) throws Exception { File file = new File("example.avro"); Schema schema = new Schema.Parser().parse(new File("schema.avsc")); DatumReader<GenericRecord> datumReader = new GenericDatumReader<>(schema); DataFileReader<GenericRecord> dataFileReader = new DataFileReader<>(file, datumReader); for (GenericRecord record : dataFileReader) { // 验证记录是否符合模式 if (isValid(record)) { // 处理记录 } else { throw new SecurityException("数据格式无效"); } } } private static boolean isValid(GenericRecord record) { // 在此处实现您的验证逻辑 return true; } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32. 3. 使用安全的反序列化库考虑使用提供额外保护层以防止 RCE 攻击的安全反序列化库 。例如 ,Jackson 库提供了 `@JsonTypeInfo` 和 `@JsonSubTypes` 等功能来控制反序列化 。
4. 实施输入清理在反序列化之前对输入数据进行清理 ,以删除潜在的恶意内容。这有助于防止执行未经授权的源码库代码。
5. 监控和记录反序列化事件实施日志记录和监控反序列化事件 ,以便及时发现任何可疑活动 。
6. 使用安全扫描器定期使用安全扫描器和工具来识别应用程序及其依赖项中的漏洞。
使用 Jackson 进行安全反序列化的示例 :
复制java import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator; import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator; public class SecureDeserializer { public static void main(String[] args) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); PolymorphicTypeValidator ptv = BasicPolymorphicTypeValidator.builder() .allowIfBaseType(Object.class) .build(); objectMapper.activateDefaultTyping(ptv, ObjectMapper.DefaultTyping.NON_FINAL); // 安全地反序列化数据 MyObject obj = objectMapper.readValue(jsonString, MyObject.class); } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.通过遵循这些实践 ,可以降低使用 Apache Avro 的 Java 应用程序中远程代码执行漏洞的风险。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/news/943e399053.html
相关文章
5G 连接存在漏洞,移动设备易被绕过或受到 DoS 攻击
系统运维由于 5G 技术存在漏洞,移动设备面临着数据被肆意窃取和拒绝服务的风险。在即将于拉斯维加斯举行的「黑帽 2024」大会上,宾夕法尼亚州立大学的一个七人研究小组将介绍黑客如何通过提供互联网连接来窃听互联 ...
【系统运维】
阅读更多探索Go锁屏的优势与特点(以高效与安全为关键,Go锁屏成为最佳选择)
系统运维在现代社会中,随着手机的普及,人们对于锁屏功能的需求也越来越高。作为一种新兴的锁屏方式,Go锁屏凭借其独特的优势和特点吸引了广大用户。本文将围绕Go锁屏展开讨论,探究其优势与特点,并分析为什么Go锁屏 ...
【系统运维】
阅读更多安卓手机下载安装游戏红警4大国崛起教程
系统运维红警4大国崛起是一款最受欢迎军事星际题材策略游戏!具有足够的深度和足够强的可玩性,让许多玩家很快爱上了它,当然,也有很多新人玩家刚刚上手这款游戏,并没有立即找到一些游戏的技巧,以至于把它定位为在高操作 ...
【系统运维】
阅读更多
热门文章
最新文章
友情链接
- 小米膜的优点和特点(为你的手机屏幕保驾护航)
- iPhone7防抖技术(探索iPhone7防抖技术的出色表现和关键特性)
- 高铁餐服(高铁餐服的创新与发展)
- 所问数据的质量如何?(以数据质量指标为评估标准进行分析)
- 外星人声卡(探索未知领域的声音艺术)
- AMDA87410处理器的性能及特点分析(探索AMDA87410处理器的优势和应用领域)
- OPPOA59信号质量如何?(信号稳定性与通话质量是关键)
- 华为Mate9拍摄视频全方位评测(华为Mate9拍视频功能强大,画质出色,满足各类拍摄需求)
- AM09(以AM09为主题的高性能电风扇的优势与使用指南)
- 中兴红牛v5电信版(一款高性能电信版手机,满足您的需求) 网站建设云服务器b2b信息平台源码库亿华云企业服务器香港物理机