Назад | Перейти на главную страницу

Как определить, уязвима ли моя CentOS 8 к CVE-2019-18348

Я давний системный администратор Linux, но новичок в CentOS. Мне просто нужно определить, уязвим ли этот сервер CentOS для CVE-2019-18348. Для этого мне нужно либо проверить, что установленные пакеты исправлены, либо найти способ проверить уязвимость на машине.

Я не нашел надежного способа проверить уязвимость, поэтому мне остается смотреть версии пакетов, журналы изменений и т. Д.

Во-первых, некоторые подробности об уязвимости:

CVE-2019-18348: проблема была обнаружена в urllib2 в Python 2.x–2.7.17 и urllib в Python 3.x– 3.8.0. Внедрение CRLF возможно, если злоумышленник управляет параметром url, как демонстрирует первый аргумент 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 и как его включить.

[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 не показывает никаких CVE, но показывает числа "rhbz", которые, как я полагаю, являются ошибкой redhat. У меня есть несколько подписок на 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 CVE-2016-10739 в пакете glibc-2.28-72.el8.x86_64.rpm https://access.redhat.com/errata/RHSA-2019:3513

Но поскольку эта машина - centos и версия 2.28-42.el8.1, а версии патчей между RH и CentOS кажутся разными, это, похоже, не помогает мне определить, уязвим ли этот ящик.

Если кто-нибудь может предложить понимание того, уязвима ли эта система, или указать мне правильное направление, я был бы очень признателен.

Спасибо

Следуя рекомендациям по обслуживанию Red Hat, вы на правильном пути. Тот же пакет, который разрешает апстрим 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

Использование синтаксиса ниже, если появляется информация CVE, значит, ваша система уязвима; если нет вывода, вы соответствуете.

yum updateinfo info --cve CVE-2019-18348