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

exploitDog

fstec логотип

BDU:2026-03724

Опубликовано: 15 нояб. 2022
Источник: fstec
CVSS3: 4.7
CVSS2: 3.8
EPSS Низкий

Описание

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

Вендор

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

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

Ubuntu
Debian GNU/Linux
Linux

Версия ПО

16.04 LTS (Ubuntu)
18.04 LTS (Ubuntu)
20.04 LTS (Ubuntu)
11 (Debian GNU/Linux)
22.04 LTS (Ubuntu)
от 5.5 до 5.10.155 включительно (Linux)
от 5.11 до 5.15.79 включительно (Linux)
от 5.16 до 6.0.9 включительно (Linux)
от 4.15 до 4.19.266 включительно (Linux)
от 4.20 до 5.4.224 включительно (Linux)
от 4.6 до 4.14.299 включительно (Linux)

Тип ПО

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

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

Canonical Ltd. Ubuntu 16.04 LTS
Canonical Ltd. Ubuntu 18.04 LTS
Canonical Ltd. Ubuntu 20.04 LTS
Сообщество свободного программного обеспечения Debian GNU/Linux 11
Canonical Ltd. Ubuntu 22.04 LTS
Сообщество свободного программного обеспечения Linux от 5.5 до 5.10.155 включительно
Сообщество свободного программного обеспечения Linux от 5.11 до 5.15.79 включительно
Сообщество свободного программного обеспечения Linux от 5.16 до 6.0.9 включительно
Сообщество свободного программного обеспечения Linux от 4.15 до 4.19.266 включительно
Сообщество свободного программного обеспечения Linux от 4.20 до 5.4.224 включительно
Сообщество свободного программного обеспечения Linux от 4.6 до 4.14.299 включительно

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

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

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

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://git.kernel.org/stable/c/4154b6afa2bd639214ff259d912faad984f7413a
https://git.kernel.org/stable/c/22f6b5d47396b4287662668ee3f5c1f766cb4259
https://git.kernel.org/stable/c/d9ad4de92e184b19bcae4da10dac0275abf83931
https://git.kernel.org/stable/c/ce57d6474ae999a3b2d442314087473a646a65c7
https://git.kernel.org/stable/c/bf92e54597d842da127c59833b365d6faeeaf020
https://git.kernel.org/stable/c/f7b0e95071bb4be4b811af3f0bfc3e200eedeaa3
Для программных продуктов Debian GNU/Linux:
https://security-tracker.debian.org/tracker/CVE-2022-49814
Для программных продуктов Ubuntu:
https://ubuntu.com/security/CVE-2022-49814

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

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

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

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

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

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

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

EPSS

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

4.7 Medium

CVSS3

3.8 Low

CVSS2

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

CVSS3: 7.8
ubuntu
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: kcm: close race conditions on sk_receive_queue sk->sk_receive_queue is protected by skb queue lock, but for KCM sockets its RX path takes mux->rx_lock to protect more than just skb queue. However, kcm_recvmsg() still only grabs the skb queue lock, so race conditions still exist. We can teach kcm_recvmsg() to grab mux->rx_lock too but this would introduce a potential performance regression as struct kcm_mux can be shared by multiple KCM sockets. So we have to enforce skb queue lock in requeue_rx_msgs() and handle skb peek case carefully in kcm_wait_data(). Fortunately, skb_recv_datagram() already handles it nicely and is widely used by other sockets, we can just switch to skb_recv_datagram() after getting rid of the unnecessary sock lock in kcm_recvmsg() and kcm_splice_read(). Side note: SOCK_DONE is not used by KCM sockets, so it is safe to get rid of this check too. I ran the original syzbot reproducer for 30 min w...

redhat
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: kcm: close race conditions on sk_receive_queue sk->sk_receive_queue is protected by skb queue lock, but for KCM sockets its RX path takes mux->rx_lock to protect more than just skb queue. However, kcm_recvmsg() still only grabs the skb queue lock, so race conditions still exist. We can teach kcm_recvmsg() to grab mux->rx_lock too but this would introduce a potential performance regression as struct kcm_mux can be shared by multiple KCM sockets. So we have to enforce skb queue lock in requeue_rx_msgs() and handle skb peek case carefully in kcm_wait_data(). Fortunately, skb_recv_datagram() already handles it nicely and is widely used by other sockets, we can just switch to skb_recv_datagram() after getting rid of the unnecessary sock lock in kcm_recvmsg() and kcm_splice_read(). Side note: SOCK_DONE is not used by KCM sockets, so it is safe to get rid of this check too. I ran the original syzbot reproducer for 30 min w...

CVSS3: 7.8
nvd
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: kcm: close race conditions on sk_receive_queue sk->sk_receive_queue is protected by skb queue lock, but for KCM sockets its RX path takes mux->rx_lock to protect more than just skb queue. However, kcm_recvmsg() still only grabs the skb queue lock, so race conditions still exist. We can teach kcm_recvmsg() to grab mux->rx_lock too but this would introduce a potential performance regression as struct kcm_mux can be shared by multiple KCM sockets. So we have to enforce skb queue lock in requeue_rx_msgs() and handle skb peek case carefully in kcm_wait_data(). Fortunately, skb_recv_datagram() already handles it nicely and is widely used by other sockets, we can just switch to skb_recv_datagram() after getting rid of the unnecessary sock lock in kcm_recvmsg() and kcm_splice_read(). Side note: SOCK_DONE is not used by KCM sockets, so it is safe to get rid of this check too. I ran the original syzbot reproducer for 30 min

CVSS3: 7.8
debian
больше 1 года назад

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

CVSS3: 4.7
github
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: kcm: close race conditions on sk_receive_queue sk->sk_receive_queue is protected by skb queue lock, but for KCM sockets its RX path takes mux->rx_lock to protect more than just skb queue. However, kcm_recvmsg() still only grabs the skb queue lock, so race conditions still exist. We can teach kcm_recvmsg() to grab mux->rx_lock too but this would introduce a potential performance regression as struct kcm_mux can be shared by multiple KCM sockets. So we have to enforce skb queue lock in requeue_rx_msgs() and handle skb peek case carefully in kcm_wait_data(). Fortunately, skb_recv_datagram() already handles it nicely and is widely used by other sockets, we can just switch to skb_recv_datagram() after getting rid of the unnecessary sock lock in kcm_recvmsg() and kcm_splice_read(). Side note: SOCK_DONE is not used by KCM sockets, so it is safe to get rid of this check too. I ran the original syzbot reproducer for 30 ...

EPSS

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

4.7 Medium

CVSS3

3.8 Low

CVSS2