Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

fstec логотип

BDU:2026-02367

Опубликовано: 08 сент. 2022
Источник: fstec
CVSS3: 5.5
CVSS2: 4.6
EPSS Низкий

Описание

Уязвимость функции nbd_start_device_ioctl() в модуле drivers/block/nbd.c драйвера блочных устройств ядра операционной системы Linux связана с ошибками синхронизации при использовании общего ресурса. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании

Вендор

Canonical Ltd.
Red Hat Inc.
Сообщество свободного программного обеспечения

Наименование ПО

Ubuntu
Red Hat Enterprise Linux
Debian GNU/Linux
Linux

Версия ПО

14.04 LTS (Ubuntu)
16.04 LTS (Ubuntu)
18.04 LTS (Ubuntu)
8 (Red Hat Enterprise Linux)
20.04 LTS (Ubuntu)
11 (Debian GNU/Linux)
22.04 LTS (Ubuntu)
9 (Red Hat Enterprise Linux)
от 5.16 до 5.19.16 включительно (Linux)
от 4.15 до 4.19.261 включительно (Linux)
от 4.20 до 5.4.219 включительно (Linux)
от 5.5 до 5.10.149 включительно (Linux)
от 5.11 до 5.15.74 включительно (Linux)
от 6.0 до 6.0.2 включительно (Linux)
от 4.12 до 4.14.295 включительно (Linux)

Тип ПО

Операционная система

Операционные системы и аппаратные платформы

Canonical Ltd. Ubuntu 14.04 LTS
Canonical Ltd. Ubuntu 16.04 LTS
Canonical Ltd. Ubuntu 18.04 LTS
Red Hat Inc. Red Hat Enterprise Linux 8
Canonical Ltd. Ubuntu 20.04 LTS
Сообщество свободного программного обеспечения Debian GNU/Linux 11
Canonical Ltd. Ubuntu 22.04 LTS
Red Hat Inc. Red Hat Enterprise Linux 9
Сообщество свободного программного обеспечения Linux от 5.16 до 5.19.16 включительно
Сообщество свободного программного обеспечения Linux от 4.15 до 4.19.261 включительно
Сообщество свободного программного обеспечения Linux от 4.20 до 5.4.219 включительно
Сообщество свободного программного обеспечения Linux от 5.5 до 5.10.149 включительно
Сообщество свободного программного обеспечения Linux от 5.11 до 5.15.74 включительно
Сообщество свободного программного обеспечения Linux от 6.0 до 6.0.2 включительно
Сообщество свободного программного обеспечения Linux от 4.12 до 4.14.295 включительно

Уровень опасности уязвимости

Средний уровень опасности (базовая оценка CVSS 2.0 составляет 4,6)
Средний уровень опасности (базовая оценка CVSS 3.1 составляет 5,5)

Возможные меры по устранению уязвимости

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://git.kernel.org/stable/c/c7b4641bd2395c2f3cd3b0a0cbf292ed9d489398
https://git.kernel.org/stable/c/3575949513ea3b387b30dac1e69468a923c86caf
https://git.kernel.org/stable/c/c0d73be0af8c1310713bc39a8d7a22e35084e14f
https://git.kernel.org/stable/c/35fb7d4a53d9e36d1b91161ea9870d9c6d57dccf
https://git.kernel.org/stable/c/b2700f98b3f4dd19fb4315b70581e5caff89eb49
https://git.kernel.org/stable/c/62006a72b05e0d38727eef5188700f2488be5e89
https://git.kernel.org/stable/c/3ba3846cb3e2fb3c6fbf79e998472821b298419e
https://git.kernel.org/linus/1de7c3cf48fc41cd95adb12bd1ea9033a917798a
https://kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.296
https://kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.262
https://kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.4.220
https://kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.150
https://kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.75
https://kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.19.17
https://kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.0.3
Для Debian GNU/Linux:
https://security-tracker.debian.org/tracker/CVE-2022-50314
Для программных продуктов Red Hat Inc.:
https://access.redhat.com/security/cve/CVE-2022-50314
Для Ubuntu:
https://ubuntu.com/security/CVE-2022-50314

Статус уязвимости

Подтверждена производителем

Наличие эксплойта

Данные уточняются

Информация об устранении

Уязвимость устранена

Идентификаторы других систем описаний уязвимостей

EPSS

Процентиль: 2%
0.00014
Низкий

5.5 Medium

CVSS3

4.6 Medium

CVSS2

Связанные уязвимости

CVSS3: 5.5
ubuntu
6 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: nbd: Fix hung when signal interrupts nbd_start_device_ioctl() syzbot reported hung task [1]. The following program is a simplified version of the reproducer: int main(void) { int sv[2], fd; if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv) < 0) return 1; if ((fd = open("/dev/nbd0", 0)) < 0) return 1; if (ioctl(fd, NBD_SET_SIZE_BLOCKS, 0x81) < 0) return 1; if (ioctl(fd, NBD_SET_SOCK, sv[0]) < 0) return 1; if (ioctl(fd, NBD_DO_IT) < 0) return 1; return 0; } When signal interrupt nbd_start_device_ioctl() waiting the condition atomic_read(&config->recv_threads) == 0, the task can hung because it waits the completion of the inflight IOs. This patch fixes the issue by clearing queue, not just shutdown, when signal interrupt nbd_start_device_ioctl().

CVSS3: 4.4
redhat
6 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: nbd: Fix hung when signal interrupts nbd_start_device_ioctl() syzbot reported hung task [1]. The following program is a simplified version of the reproducer: int main(void) { int sv[2], fd; if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv) < 0) return 1; if ((fd = open("/dev/nbd0", 0)) < 0) return 1; if (ioctl(fd, NBD_SET_SIZE_BLOCKS, 0x81) < 0) return 1; if (ioctl(fd, NBD_SET_SOCK, sv[0]) < 0) return 1; if (ioctl(fd, NBD_DO_IT) < 0) return 1; return 0; } When signal interrupt nbd_start_device_ioctl() waiting the condition atomic_read(&config->recv_threads) == 0, the task can hung because it waits the completion of the inflight IOs. This patch fixes the issue by clearing queue, not just shutdown, when signal interrupt nbd_start_device_ioctl().

CVSS3: 5.5
nvd
6 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: nbd: Fix hung when signal interrupts nbd_start_device_ioctl() syzbot reported hung task [1]. The following program is a simplified version of the reproducer: int main(void) { int sv[2], fd; if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv) < 0) return 1; if ((fd = open("/dev/nbd0", 0)) < 0) return 1; if (ioctl(fd, NBD_SET_SIZE_BLOCKS, 0x81) < 0) return 1; if (ioctl(fd, NBD_SET_SOCK, sv[0]) < 0) return 1; if (ioctl(fd, NBD_DO_IT) < 0) return 1; return 0; } When signal interrupt nbd_start_device_ioctl() waiting the condition atomic_read(&config->recv_threads) == 0, the task can hung because it waits the completion of the inflight IOs. This patch fixes the issue by clearing queue, not just shutdown, when signal interrupt nbd_start_device_ioctl().

CVSS3: 5.5
debian
6 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: n ...

CVSS3: 5.5
github
6 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: nbd: Fix hung when signal interrupts nbd_start_device_ioctl() syzbot reported hung task [1]. The following program is a simplified version of the reproducer: int main(void) { int sv[2], fd; if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv) < 0) return 1; if ((fd = open("/dev/nbd0", 0)) < 0) return 1; if (ioctl(fd, NBD_SET_SIZE_BLOCKS, 0x81) < 0) return 1; if (ioctl(fd, NBD_SET_SOCK, sv[0]) < 0) return 1; if (ioctl(fd, NBD_DO_IT) < 0) return 1; return 0; } When signal interrupt nbd_start_device_ioctl() waiting the condition atomic_read(&config->recv_threads) == 0, the task can hung because it waits the completion of the inflight IOs. This patch fixes the issue by clearing queue, not just shutdown, when signal interrupt nbd_start_device_ioctl().

EPSS

Процентиль: 2%
0.00014
Низкий

5.5 Medium

CVSS3

4.6 Medium

CVSS2