會員註冊 / 登入  |  電腦版  |  Jump to bottom of page

Linux » Oracle Linux 6自行透過SRPM編譯polkit套件修補CVE-2021-4034漏洞

發表人: andowson, 七段學員
2022-09-14 23:02:07
有關CVE-2021-4034漏洞的資訊可以參考相關連結
https://www.ithome.com.tw/news/149096

有關Oracle Linux 6的安全性修補資訊如下:
https://linux.oracle.com/errata/ELSA-2022-9073.html

問題是這些編譯好的rpm檔無法取得,需要有購買Oracle Support才行
由於Oracle有將Linux的原始碼公布出來,包含這些安全性更新,在以下網址:
https://oss.oracle.com/el6/SRPMS-updates/?C=M;O=D

因此我們可以嘗試透過編譯SRPM套件來取得修補套件的rpm檔
以下是我自己實作的經驗與心得:
1.取得SRPM
wget https://oss.oracle.com/el6/SRPMS-updates/polkit-0.96-11.0.1.el6_10.1.src.rpm

2.安裝(解包)SPRM
rpm -i polkit-0.96-11.0.1.el6_10.1.src.rpm
由於我是用root執行這行指令,所以是解包到/root/rpmbuild目錄下

3.安裝rpm-build套件
yum install rpm-build

4.安裝相依套件
yum install glib2-devel expat-devel pam-devel eggdbus-devel gtk-doc intltool

5.安裝gcc編譯器
yum install gcc

6.開始編譯
cd /root/rpmbuild/SPECS
rpmbuild -bb polkit.spec

7.檢視產生之rpm檔
cd /root/rpmbuild/RPMS/x86_64
ls -l
這邊發現產生之檔名是polkit-0.96-11.0.1.el6.1.x86_64.rpm跟Oracle Linux網站上寫的polkit-0.96-11.0.1.el6_10.1.x86_64.rpm不太一樣

8.如果想要讓檔名跟Oracle Linux上的網站一樣可以修改polkit.spec
將這行
Release: 11.0.1%{?dist}.1

改為這樣
Release: 11.0.1%{?dist}_10.1


存檔後,將舊檔案刪除,再重新編譯一次即可得到我們想要的結果
cd /root/rpmbuild/SPECS
vi polkit.spec
rm -f /root/rpmbuild/RPMS/x86_64/polkit*
rpmbuild -bb polkit.spec

[root@www x86_64]# ll

總計 944
-rw-r--r-- 1 root root 165476 2022-09-14 22:11 polkit-0.96-11.0.1.el6_10.1.x86_64.rpm
-rw-r--r-- 1 root root 478192 2022-09-14 22:11 polkit-debuginfo-0.96-11.0.1.el6_10.1.x86_64.rpm
-rw-r--r-- 1 root root 28600 2022-09-14 22:11 polkit-devel-0.96-11.0.1.el6_10.1.x86_64.rpm
-rw-r--r-- 1 root root 277796 2022-09-14 22:11 polkit-docs-0.96-11.0.1.el6_10.1.x86_64.rpm


我把我編譯好的檔案打包起來,放在這個網址
https://www.andowson.com/download/ol6_polkit_rpm.tar.gz
如果您剛好有需要可以自行下載,再將其解壓縮後,安裝使用
wget https://www.andowson.com/download/ol6_polkit_rpm.tar.gz --no-check-certificate
tar zxvf ol6_polkit_rpm.tar.gz

9.安裝更新檔
rpm -Uvh polkit-0.96-11.0.1.el6_10.1.x86_64.rpm




會員註冊 / 登入  |  電腦版  |  Jump to top of page