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

exploitDog

fstec логотип

BDU:2024-09941

Опубликовано: 26 мар. 2024
Источник: fstec
CVSS3: 8.8
CVSS2: 6.8
EPSS Низкий

Описание

Уязвимость компонента btrfs ядра операционной системы Linux связана с состояния гонки при использовании общего ресурса в функции read_extent_buffer_pages(). Эксплуатация уязвимости может позволить нарушителю повысить привилегии в системе

Вендор

Red Hat Inc.
ООО «Ред Софт»
Canonical Ltd.
Сообщество свободного программного обеспечения
АО "НППКТ"

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

Red Hat Enterprise Linux
РЕД ОС
Ubuntu
Linux
ОСОН ОСнова Оnyx

Версия ПО

6 (Red Hat Enterprise Linux)
7 (Red Hat Enterprise Linux)
7.3 (РЕД ОС)
24.04 LTS (Ubuntu)
от 6.5 до 6.6.23 включительно (Linux)
до 2.11 (ОСОН ОСнова Оnyx)
от 6.7 до 6.7.11 включительно (Linux)
от 6.8 до 6.8.2 включительно (Linux)

Тип ПО

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

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

Red Hat Inc. Red Hat Enterprise Linux 6
Red Hat Inc. Red Hat Enterprise Linux 7
ООО «Ред Софт» РЕД ОС 7.3
Canonical Ltd. Ubuntu 24.04 LTS
АО "НППКТ" ОСОН ОСнова Оnyx до 2.11
Сообщество свободного программного обеспечения Linux от 6.7 до 6.7.12
Сообщество свободного программного обеспечения Linux от 6.8 до 6.8.3
Сообщество свободного программного обеспечения Linux 6.8 rc1
Сообщество свободного программного обеспечения Linux от 6.5 до 6.6.24

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

Средний уровень опасности (базовая оценка CVSS 2.0 составляет 6,8)
Высокий уровень опасности (базовая оценка CVSS 3.0 составляет 8,8)
Нет опасности уровень опасности (оценка CVSS 4.0 составляет 0)

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

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://lore.kernel.org/linux-cve-announce/2024051737-CVE-2024-35798-8d90@gregkh/
Для РедОС:
http://repo.red-soft.ru/redos/7.3c/x86_64/updates/
Для Ubuntu:
https://ubuntu.com/security/CVE-2024-35798
Для программных продуктов Red Hat Inc.:
https://access.redhat.com/security/cve/CVE-2024-35798
Обновление программного обеспечения linux до версии 6.6.36-0.osnova233

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

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

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

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

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

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

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

EPSS

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

8.8 High

CVSS3

6.8 Medium

CVSS2

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

ubuntu
около 1 года назад

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix race in read_extent_buffer_pages() There are reports from tree-checker that detects corrupted nodes, without any obvious pattern so possibly an overwrite in memory. After some debugging it turns out there's a race when reading an extent buffer the uptodate status can be missed. To prevent concurrent reads for the same extent buffer, read_extent_buffer_pages() performs these checks: /* (1) */ if (test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags)) return 0; /* (2) */ if (test_and_set_bit(EXTENT_BUFFER_READING, &eb->bflags)) goto done; At this point, it seems safe to start the actual read operation. Once that completes, end_bbio_meta_read() does /* (3) */ set_extent_buffer_uptodate(eb); /* (4) */ clear_bit(EXTENT_BUFFER_READING, &eb->bflags); Normally, this is enough to ensure only one read happens, and all other callers wait for it to finish before returning. Unfortunately, there is a racey interleaving: Thread...

CVSS3: 5.5
redhat
около 1 года назад

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix race in read_extent_buffer_pages() There are reports from tree-checker that detects corrupted nodes, without any obvious pattern so possibly an overwrite in memory. After some debugging it turns out there's a race when reading an extent buffer the uptodate status can be missed. To prevent concurrent reads for the same extent buffer, read_extent_buffer_pages() performs these checks: /* (1) */ if (test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags)) return 0; /* (2) */ if (test_and_set_bit(EXTENT_BUFFER_READING, &eb->bflags)) goto done; At this point, it seems safe to start the actual read operation. Once that completes, end_bbio_meta_read() does /* (3) */ set_extent_buffer_uptodate(eb); /* (4) */ clear_bit(EXTENT_BUFFER_READING, &eb->bflags); Normally, this is enough to ensure only one read happens, and all other callers wait for it to finish before returning. Unfortunately, there is a racey interleaving: Threa...

nvd
около 1 года назад

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix race in read_extent_buffer_pages() There are reports from tree-checker that detects corrupted nodes, without any obvious pattern so possibly an overwrite in memory. After some debugging it turns out there's a race when reading an extent buffer the uptodate status can be missed. To prevent concurrent reads for the same extent buffer, read_extent_buffer_pages() performs these checks: /* (1) */ if (test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags)) return 0; /* (2) */ if (test_and_set_bit(EXTENT_BUFFER_READING, &eb->bflags)) goto done; At this point, it seems safe to start the actual read operation. Once that completes, end_bbio_meta_read() does /* (3) */ set_extent_buffer_uptodate(eb); /* (4) */ clear_bit(EXTENT_BUFFER_READING, &eb->bflags); Normally, this is enough to ensure only one read happens, and all other callers wait for it to finish before returning

debian
около 1 года назад

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

github
около 1 года назад

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix race in read_extent_buffer_pages() There are reports from tree-checker that detects corrupted nodes, without any obvious pattern so possibly an overwrite in memory. After some debugging it turns out there's a race when reading an extent buffer the uptodate status can be missed. To prevent concurrent reads for the same extent buffer, read_extent_buffer_pages() performs these checks: /* (1) */ if (test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags)) return 0; /* (2) */ if (test_and_set_bit(EXTENT_BUFFER_READING, &eb->bflags)) goto done; At this point, it seems safe to start the actual read operation. Once that completes, end_bbio_meta_read() does /* (3) */ set_extent_buffer_uptodate(eb); /* (4) */ clear_bit(EXTENT_BUFFER_READING, &eb->bflags); Normally, this is enough to ensure only one read happens, and all other callers wait for it to finish before return...

EPSS

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

8.8 High

CVSS3

6.8 Medium

CVSS2