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

一、背景

​ 國家信息安全漏洞庫(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模塊;對於這種小修改,能不升級版本就不升級,儘量最小化風險,希望能幫到你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章