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

exploitDog

fstec логотип

BDU:2025-00068

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

Описание

Уязвимость функции dev_get_drvdata() драйвера контроллера Cadence Quad SPI (drivers/spi/spi-cadence-quadspi.c)i ядра операционной системы Linux связана с разыменованием ненадежного указателя. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании

Вендор

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

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

РЕД ОС
Linux
ОСОН ОСнова Оnyx

Версия ПО

7.3 (РЕД ОС)
от 6.2.15 до 6.3 (Linux)
до 2.10.1 (ОСОН ОСнова Оnyx)
от 6.7 до 6.7.8 включительно (Linux)
от 4.19.283 до 4.19.322 включительно (Linux)
от 5.4.243 до 5.4.284 включительно (Linux)
от 5.10.180 до 5.10.228 включительно (Linux)
от 5.15.111 до 5.15.169 включительно (Linux)
от 6.1.28 до 6.1.114 включительно (Linux)
от 6.3.2 до 6.6.20 включительно (Linux)

Тип ПО

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

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

ООО «Ред Софт» РЕД ОС 7.3
Сообщество свободного программного обеспечения Linux от 6.2.0 до 6.2.15 включительно
Сообщество свободного программного обеспечения Linux от 6.3.0 до 6.3.2 включительно
Сообщество свободного программного обеспечения Linux от 6.7.0 до 6.7.8 включительно
Сообщество свободного программного обеспечения Linux от 6.2.15 до 6.3
АО "НППКТ" ОСОН ОСнова Оnyx до 2.10.1
Сообщество свободного программного обеспечения Linux от 6.4 до 6.6.21
Сообщество свободного программного обеспечения Linux от 6.7 до 6.7.8 включительно
Сообщество свободного программного обеспечения Linux от 6.8 до 6.8 rc7
Сообщество свободного программного обеспечения Linux 4.19.283
Сообщество свободного программного обеспечения Linux от 5.4 до 5.4.243 включительно
Сообщество свободного программного обеспечения Linux от 5.10 до 5.10.180 включительно
Сообщество свободного программного обеспечения Linux от 5.15 до 5.15.111 включительно
Сообщество свободного программного обеспечения Linux от 6.1 до 6.1.28 включительно
Сообщество свободного программного обеспечения Linux от 4.19.283 до 4.19.322 включительно
Сообщество свободного программного обеспечения Linux от 5.4.243 до 5.4.284 включительно
Сообщество свободного программного обеспечения Linux от 5.10.180 до 5.10.228 включительно
Сообщество свободного программного обеспечения Linux от 5.15.111 до 5.15.169 включительно
Сообщество свободного программного обеспечения Linux от 6.1.28 до 6.1.114 включительно
Сообщество свободного программного обеспечения Linux от 6.3.2 до 6.6.20 включительно

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

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

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

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://lore.kernel.org/linux-cve-announce/2024040405-CVE-2024-26807-c071@gregkh/
https://git.kernel.org/stable/c/03f1573c9587029730ca68503f5062105b122f61
https://git.kernel.org/stable/c/32ce3bb57b6b402de2aec1012511e7ac4e7449dc
https://git.kernel.org/stable/c/34e1d5c4407c78de0e3473e1fbf8fb74dbe66d03
Обновление программного обеспечения linux до версии 6.6.27-0.osnova229
Для РЕД ОС:
https://redos.red-soft.ru/support/secure/uyazvimosti/mnozhestvennye-uyazvimosti-kernel-lt-cve-2024-26807-cve-2024-26783-cve-2024-26767-cve-2024-26739/?sphrase_id=1327017

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

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

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

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

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

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

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

EPSS

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

5.5 Medium

CVSS3

4.6 Medium

CVSS2

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

CVSS3: 7.8
redos
15 дней назад

Множественные уязвимости kernel-lt

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

In the Linux kernel, the following vulnerability has been resolved: Both cadence-quadspi ->runtime_suspend() and ->runtime_resume() implementations start with: struct cqspi_st *cqspi = dev_get_drvdata(dev); struct spi_controller *host = dev_get_drvdata(dev); This obviously cannot be correct, unless "struct cqspi_st" is the first member of " struct spi_controller", or the other way around, but it is not the case. "struct spi_controller" is allocated by devm_spi_alloc_host(), which allocates an extra amount of memory for private data, used to store "struct cqspi_st". The ->probe() function of the cadence-quadspi driver then sets the device drvdata to store the address of the "struct cqspi_st" structure. Therefore: struct cqspi_st *cqspi = dev_get_drvdata(dev); is correct, but: struct spi_controller *host = dev_get_drvdata(dev); is not, as it makes "host" point not to a "struct spi_controller" but to the same "struct cqspi_st" structure as above. This obviously leads to bad things (mem...

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

In the Linux kernel, the following vulnerability has been resolved: Both cadence-quadspi ->runtime_suspend() and ->runtime_resume() implementations start with: struct cqspi_st *cqspi = dev_get_drvdata(dev); struct spi_controller *host = dev_get_drvdata(dev); This obviously cannot be correct, unless "struct cqspi_st" is the first member of " struct spi_controller", or the other way around, but it is not the case. "struct spi_controller" is allocated by devm_spi_alloc_host(), which allocates an extra amount of memory for private data, used to store "struct cqspi_st". The ->probe() function of the cadence-quadspi driver then sets the device drvdata to store the address of the "struct cqspi_st" structure. Therefore: struct cqspi_st *cqspi = dev_get_drvdata(dev); is correct, but: struct spi_controller *host = dev_get_drvdata(dev); is not, as it makes "host" point not to a "struct spi_controller" but to the same "struct cqspi_st" structure as above. This obviously leads to bad things (mem...

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

In the Linux kernel, the following vulnerability has been resolved: Both cadence-quadspi ->runtime_suspend() and ->runtime_resume() implementations start with: struct cqspi_st *cqspi = dev_get_drvdata(dev); struct spi_controller *host = dev_get_drvdata(dev); This obviously cannot be correct, unless "struct cqspi_st" is the first member of " struct spi_controller", or the other way around, but it is not the case. "struct spi_controller" is allocated by devm_spi_alloc_host(), which allocates an extra amount of memory for private data, used to store "struct cqspi_st". The ->probe() function of the cadence-quadspi driver then sets the device drvdata to store the address of the "struct cqspi_st" structure. Therefore: struct cqspi_st *cqspi = dev_get_drvdata(dev); is correct, but: struct spi_controller *host = dev_get_drvdata(dev); is not, as it makes "host" point not to a "struct spi_controller" but to the same "struct cqspi_st" structure as above. This obviously leads to bad t

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

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

EPSS

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

5.5 Medium

CVSS3

4.6 Medium

CVSS2