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

exploitDog

fstec логотип

BDU:2026-01397

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

Описание

Уязвимость функции gfs2_dinode_in() модуля fs/gfs2/dir.c файловой системы GFS2 ядра операционной системы Linux связана с недостаточной проверкой входных данных. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании

Вендор

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

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

Red Hat Enterprise Linux
Debian GNU/Linux
Linux

Версия ПО

7 (Red Hat Enterprise Linux)
8 (Red Hat Enterprise Linux)
9 (Red Hat Enterprise Linux)
13 (Debian GNU/Linux)
от 6.13 до 6.15.10 включительно (Linux)
от 6.16 до 6.16.1 включительно (Linux)
от 2.6.26 до 6.12.42 включительно (Linux)

Тип ПО

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

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

Red Hat Inc. Red Hat Enterprise Linux 7
Red Hat Inc. Red Hat Enterprise Linux 8
Red Hat Inc. Red Hat Enterprise Linux 9
Сообщество свободного программного обеспечения Debian GNU/Linux 13
Сообщество свободного программного обеспечения Linux от 6.13 до 6.15.10 включительно
Сообщество свободного программного обеспечения Linux от 6.16 до 6.16.1 включительно
Сообщество свободного программного обеспечения Linux от 2.6.26 до 6.12.42 включительно

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

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

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

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://lore.kernel.org/linux-cve-announce/2025090456-CVE-2025-38710-1b60@gregkh/
https://git.kernel.org/stable/c/9680c58675b82348ab84d387e4fa727f7587e1a0
https://git.kernel.org/stable/c/53a0249d68a210c16e961b83adfa82f94ee0a53d
https://git.kernel.org/stable/c/b5f46951e62377b6e406fadc18bc3c5bdf1632a7
https://git.kernel.org/linus/557c024ca7250bb65ae60f16c02074106c2f197b
https://kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.43
https://kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.15.11
https://kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.16.2
Для Debian GNU/Linux:
https://security-tracker.debian.org/tracker/CVE-2025-38710
Для продуктов Red Hat Inc.:
https://access.redhat.com/security/cve/cve-2025-38710

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

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

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

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

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

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

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

EPSS

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

5.5 Medium

CVSS3

4.6 Medium

CVSS2

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

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

In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) and 0 is invalid as sdp->sd_hash_ptrs is fixed as sdp->bsize / 16 at mount time. So we can avoid the undefined behaviour by checking for depth values lower than the minimum in gfs2_dinode_in(). Values greater than the maximum are already being checked for there. Also switch the calculation in dir_make_exhash() to use ilog2() to clarify how the depth is calculated. Tested with the syzkaller repro.c and xfstests '-g quick'.

CVSS3: 5.2
redhat
7 месяцев назад

In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) and 0 is invalid as sdp->sd_hash_ptrs is fixed as sdp->bsize / 16 at mount time. So we can avoid the undefined behaviour by checking for depth values lower than the minimum in gfs2_dinode_in(). Values greater than the maximum are already being checked for there. Also switch the calculation in dir_make_exhash() to use ilog2() to clarify how the depth is calculated. Tested with the syzkaller repro.c and xfstests '-g quick'.

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

In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) and 0 is invalid as sdp->sd_hash_ptrs is fixed as sdp->bsize / 16 at mount time. So we can avoid the undefined behaviour by checking for depth values lower than the minimum in gfs2_dinode_in(). Values greater than the maximum are already being checked for there. Also switch the calculation in dir_make_exhash() to use ilog2() to clarify how the depth is calculated. Tested with the syzkaller repro.c and xfstests '-g quick'.

msrc
7 месяцев назад

gfs2: Validate i_depth for exhash directories

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

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

EPSS

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

5.5 Medium

CVSS3

4.6 Medium

CVSS2