Centos

如何確定我的 CentOS 8 是否易受 CVE-2019-18348 攻擊

  • December 7, 2019

我是一名長期的 linux 系統管理員,但對 CentOS 很陌生。我只需要確定這個 CentOS 伺服器是否容易受到CVE-2019-18348 的攻擊。為此,我必須驗證安裝的軟體包是否已修補,或者有辦法測試機器上的漏洞。

我還沒有找到任何可靠的方法來測試漏洞,所以我只能查看包版本、變更日誌等。

首先,關於漏洞的一些細節:

CVE-2019-18348:在 Python 2.x 到 2.7.17 的 urllib2 和 Python 3.x 到 3.8.0 的 urllib 中發現了一個問題。如果攻擊者控制了一個 url 參數,CRLF 注入是可能的,正如 urllib.request.urlopen 的第一個參數與 \r\n (特別是在 URL 的主機組件中)後跟 HTTP 標頭所示。這類似於 CVE-2019-9740 查詢字元串問題和 CVE-2019-9947 路徑字元串問題。

當 glibc 修復了 CVE-2016-10739 時,這是不可利用的

https://nvd.nist.gov/vuln/detail/CVE-2019-18348

https://nvd.nist.gov/vuln/detail/CVE-2016-10739

以下是我的系統的版本詳細資訊:

  • centos-release-8.0-0.1905.0.9.el8.x86_64
  • python36.x86_64 (3.6.8-2.module_el8.0.0+33+0a10c0e1)
  • glibc 2.28-42.el8.1

系統已完全更新,但我沒有看到任何安全或反向移植 repo 啟用。我無法找到有關是否有 centos 的安全更新儲存庫以及如何啟用它的任何資訊。

[root@host]# yum repolist
Last metadata expiration check: 1:37:46 ago on Fri 06 Dec 2019 07:51:08 PM UTC.
repo id     repo name                                       status
AppStream   CentOS-8 - AppStream                            5,089
BaseOS      CentOS-8 - Base                                 2,843
*epel       Extra Packages for Enterprise Linux 8 - x86_64  3,579
extras      CentOS-8 - Extras

glibc 的變更日誌沒有專門列出 CVE-2019-18348。雖然 if 可能已在以前的版本中修復,但我還沒有找到任何方法來檢查它。

[root@host]# rpm -q --changelog glibc | grep -i cve
- Add upstream test case for CVE-2018-19591 (#1654010)
- CVE-2018-19591: File descriptor leak in if_nametoindex (#1654010)
- CVE-2018-11237: Buffer overflow in __mempcpy_avx512_no_vzeroupper (#1581275)
- CVE-2018-11236: realpath: Fix path length overflow (#1581270, swbz#22786)
- CVE-2017-18269: memory corruption in i386 memmove (#1580934)
- CVE-2017-14062, CVE-2016-6261, CVE-2016-6263:
- CVE-2018-1000001: Make getcwd fail if it cannot obtain an absolute path
- CVE-2017-16997: elf: Check for empty tokens before DST expansion (#1526866)
- CVE-2017-1000409: Count in expanded path in _dl_init_path (#1524867)
- CVE-2017-1000408: Compute correct array size in _dl_init_paths (#1524867)
- CVE-2017-17426: malloc: Fix integer overflow in tcache (swbz#22375)
- CVE-2017-15804: glob: Fix buffer overflow during GLOB_TILDE unescaping
- CVE-2017-15670: glob: Fix one-byte overflow (#1504807)
- Use execveat syscall in fexecve (swbz#22134)

python的changlog沒有顯示任何CVE,而是“rhbz”數字,我認為這是redhat bugzilla。我有一些 RH 訂閱,但顯然不足以允許查看這些項目的任何詳細資訊。

[root@host]# rpm -q --changelog python36 | grep -i resolves
- Resolves: rhbz#1695587
- Resolves: rhbz#1658271
- Resolves: rhbz#1654867
- Resolves: rhbz#1633534
- Resolves: rhbz#1633534
- Resolves: rhbz#1633561
- Resolves: rhbz#1633534
- Resolves: rhbz#1632637
- Resolves: rhbz#1633534
- Resolves: rhbz#1615727

此 Red Had 公告修復了glibc-2.28-72.el8.x86_64.rpm軟體包中的CVE- 2016-10739 https://access.redhat.com/errata/RHSA-2019:3513

但是由於這台機器是centos,版本為2.28-42.el8.1,而且RH和CentOS之間的更新檔版本似乎不同,這似乎無法幫助我確定這個盒子是否存在漏洞。

如果有人可以提供有關該系統是否易受攻擊的見解,或者為我指出正確的方向,我將不勝感激。

謝謝

遵循紅帽服務諮詢,您走在了正確的軌道上。解析 CVE/RHSA 上游的相同軟體包將針對 CentOS 發布。有時它不會那麼快可用。有一個glibc-2.28-72.el8.x86_64.rpm針對 CentOS 8 的建構,但它看起來還沒有被放入儲存庫。

https://koji.mbox.centos.org/koji/buildinfo?buildID=4751


當儲存庫元數據還不知道 CVE 時,它對您沒有幫助。dnf但是,如果您要執行 CentOS 系統,您可能需要熟悉安全選項。

DNF(8)                                                                           DNF                                                                           DNF(8)

NAME
      dnf - DNF Command Reference

...
      --cve=<cves>
             Includes  packages  that  fix a CVE (Common Vulnerabilities and Exposures) ID (http://cve.mitre.org/about/), Eg. CVE-2201-0123. Applicable for install,
             repoquery, updateinfo, and upgrade command.
...
      --security
             Includes packages that provides a fix for security issue. Applicable for upgrade command.

前任:

dnf updateinfo list --cve=CVE-2016-10739

引用自:https://serverfault.com/questions/994653