Flink高危漏洞 (CVE-2020-17518/17519) 修复指南

2024-09-03 11:38

本文主要是介绍Flink高危漏洞 (CVE-2020-17518/17519) 修复指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    • 一、背景
    • 二、修复方法
    • 三、详细步骤
        • 1.准备flink源码
        • 2.找到修复的commit
        • 3.编译打包
        • 4.替换jar包
    • 四、总结

一、背景

​ 国家信息安全漏洞库(CNNVD)收到关于Apache Flink安全漏洞(CNNVD-202101-271、CVE-2020-17519)(CNNVD-202101-273、CVE-2020-17518)情况的报送。成功利用漏洞的攻击者,可在未授权的情况下,构造恶意数据执行任意文件读取或文件写入攻击,最终获取服务器敏感性信息或权限。Apache Flink 1.5.1 - 1.11.2版本均受此漏洞影响。目前,Apache官方已经发布了版本更新修复了该漏洞,建议用户及时确认产品版本,尽快采取修补措施。

Apache Flink安全漏洞(CNNVD-202101-271、CVE-2020-17519):

https://lists.apache.org/thread.html/r6843202556a6d0bce9607ebc02e303f68fc88e9038235598bde3b50d@%3Cuser.flink.apache.org%3E

Apache Flink安全漏洞(CNNVD-202101-273、CVE-2020-17518):

https://lists.apache.org/thread.html/rb43cd476419a48be89c1339b527a18116f23eec5b6df2b2acbfef261@%3Cuser.flink.apache.org%3E

上面一段话粘贴过来的,详情:https://it.cztgi.edu.cn/2021/0113/c1751a49194/page.htm

二、修复方法

  • 升级Flink版本至1.11.3及以上

  • 就地修复漏洞

    网上大多是描述有这个漏洞,只告诉你升级可以解决,很少告诉你就地解决的方法。但是某些情况下,升级的代码可能有点多,在之前的版本上做了较多的定制开发,或者环境适配比较麻烦,或者担心新版本带来未知的问题,所以,这里选择就地修复漏洞的方法,此教程也适合小白。

三、详细步骤

这里以flink1.11.1版本为例进行修复

1.准备flink源码

flink1.11.1源码:https://github.com/apache/flink/archive/release-1.11.1.zip

2.找到修复的commit

由于此次的修复比较简单,就不去下载flink的全量仓库代码来查找对应修复漏洞的pull request了,这样比较慢,对于代码量比较大的修复,还是建议clone整个仓库下来。

点开最上面的两个邮件列表链接,里面包含commit id

微信图片_20210119215135.png

两个漏洞对应的commit分别为:

b561010b0ee741543c3953306037f00d7a9f0801
a5264a6f41524afe8ceadf1d8ddc8c80f323ebc4

找到对应的commit id再到github找到对应的代码变更,根据commit id拼接得到url:

https://github.com/apache/flink/commit/b561010b0ee741543c3953306037f00d7a9f0801

https://github.com/apache/flink/commit/a5264a6f41524afe8ceadf1d8ddc8c80f323ebc4

微信图片_20210119215723.png

实际有用的代码改动就一行,其余所有的test类可以不用管,把两个url对应的commit改动到自己的flink1.11.1版本上

微信图片_20210119220034.png

3.编译打包

两个漏洞对应的修复其实就2行代码,都属于flink-runtime模块下的代码,所以,只要把这个模块重新打包后替换生产即可。这里一定要注意!flink安装包中,并没有flink-runtime-xxxx.jar,flink把核心的一些包都打在了flink-dist_2.11-1.11.1.jar中,所以,这里要编译flink-dist模块

微信图片_20210119220731.png

4.替换jar包

把最后编译生成的flink-dist_2.11-1.11.1.jar包替换到所有flink节点的$FLINK_HOME/lib目录下

四、总结

这里是给不太熟悉apache项目的同学一个简单的漏洞修复教程。中间有两个地方花了点时间,一是在找漏洞对应github仓库pr的时候,在社区jira上面有一个没搜到;二是打包的时候忙着打flink-runtime模块而不是flink-dist模块;对于这种小修改,能不升级版本就不升级,尽量最小化风险,希望能帮到你。

这篇关于Flink高危漏洞 (CVE-2020-17518/17519) 修复指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132866

相关文章

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram