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

exploitDog

fstec логотип

BDU:2026-02676

Опубликовано: 09 сент. 2025
Источник: fstec
CVSS3: 6
CVSS2: 5.9
EPSS Низкий

Описание

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

Вендор

Canonical Ltd.
ООО «РусБИТех-Астра»
Red Hat Inc.
Сообщество свободного программного обеспечения

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

Ubuntu
Astra Linux Special Edition
Red Hat Enterprise Linux
Debian GNU/Linux
Linux

Версия ПО

24.04 LTS (Ubuntu)
1.8 (Astra Linux Special Edition)
10 (Red Hat Enterprise Linux)
13 (Debian GNU/Linux)
от 6.13 до 6.16.7 включительно (Linux)
от 6.10 до 6.12.47 включительно (Linux)

Тип ПО

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

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

Canonical Ltd. Ubuntu 24.04 LTS
ООО «РусБИТех-Астра» Astra Linux Special Edition 1.8
Red Hat Inc. Red Hat Enterprise Linux 10
Сообщество свободного программного обеспечения Debian GNU/Linux 13
Сообщество свободного программного обеспечения Linux от 6.13 до 6.16.7 включительно
Сообщество свободного программного обеспечения Linux от 6.10 до 6.12.47 включительно

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

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

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

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://git.kernel.org/stable/c/0126358df12d6f476f79251d9c398ac5c1b3062d
https://git.kernel.org/stable/c/c4be24ef0510c146dca4671effb127e97631534b
https://git.kernel.org/linus/f9bb6ffa7f5ad0f8ee0f53fc4a10655872ee4a14
https://kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.48
https://kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.16.8
Для Debian GNU/Linux:
https://security-tracker.debian.org/tracker/CVE-2025-39917
Для программных продуктов Red Hat Inc.:
https://access.redhat.com/security/cve/cve-2025-39917
Для Ubuntu:
https://ubuntu.com/security/CVE-2025-39917
Для ОС Astra Linux:
обновить пакет linux-6.12 до 6.12.60-1.astra1+ci20 или более высокой версии, используя рекомендации производителя: https://wiki.astralinux.ru/astra-linux-se18-bulletin-2026-0224SE18

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

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

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

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

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

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

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

EPSS

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

6 Medium

CVSS3

5.9 Medium

CVSS2

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

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

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt Stanislav reported that in bpf_crypto_crypt() the destination dynptr's size is not validated to be at least as large as the source dynptr's size before calling into the crypto backend with 'len = src_len'. This can result in an OOB write when the destination is smaller than the source. Concretely, in mentioned function, psrc and pdst are both linear buffers fetched from each dynptr: psrc = __bpf_dynptr_data(src, src_len); [...] pdst = __bpf_dynptr_data_rw(dst, dst_len); [...] err = decrypt ? ctx->type->decrypt(ctx->tfm, psrc, pdst, src_len, piv) : ctx->type->encrypt(ctx->tfm, psrc, pdst, src_len, piv); The crypto backend expects pdst to be large enough with a src_len length that can be written. Add an additional src_len > dst_len check and bail out if it's the case. Note that these kfuncs are accessible under root privileges only.

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

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt Stanislav reported that in bpf_crypto_crypt() the destination dynptr's size is not validated to be at least as large as the source dynptr's size before calling into the crypto backend with 'len = src_len'. This can result in an OOB write when the destination is smaller than the source. Concretely, in mentioned function, psrc and pdst are both linear buffers fetched from each dynptr: psrc = __bpf_dynptr_data(src, src_len); [...] pdst = __bpf_dynptr_data_rw(dst, dst_len); [...] err = decrypt ? ctx->type->decrypt(ctx->tfm, psrc, pdst, src_len, piv) : ctx->type->encrypt(ctx->tfm, psrc, pdst, src_len, piv); The crypto backend expects pdst to be large enough with a src_len length that can be written. Add an additional src_len > dst_len check and bail out if it's the case. Note that these kfuncs are accessible under root privileges only.

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

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt Stanislav reported that in bpf_crypto_crypt() the destination dynptr's size is not validated to be at least as large as the source dynptr's size before calling into the crypto backend with 'len = src_len'. This can result in an OOB write when the destination is smaller than the source. Concretely, in mentioned function, psrc and pdst are both linear buffers fetched from each dynptr: psrc = __bpf_dynptr_data(src, src_len); [...] pdst = __bpf_dynptr_data_rw(dst, dst_len); [...] err = decrypt ? ctx->type->decrypt(ctx->tfm, psrc, pdst, src_len, piv) : ctx->type->encrypt(ctx->tfm, psrc, pdst, src_len, piv); The crypto backend expects pdst to be large enough with a src_len length that can be written. Add an additional src_len > dst_len check and bail out if it's the case. Note that these kfuncs are accessible under root privileges only.

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

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

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

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix out-of-bounds dynptr write in bpf_crypto_crypt Stanislav reported that in bpf_crypto_crypt() the destination dynptr's size is not validated to be at least as large as the source dynptr's size before calling into the crypto backend with 'len = src_len'. This can result in an OOB write when the destination is smaller than the source. Concretely, in mentioned function, psrc and pdst are both linear buffers fetched from each dynptr: psrc = __bpf_dynptr_data(src, src_len); [...] pdst = __bpf_dynptr_data_rw(dst, dst_len); [...] err = decrypt ? ctx->type->decrypt(ctx->tfm, psrc, pdst, src_len, piv) : ctx->type->encrypt(ctx->tfm, psrc, pdst, src_len, piv); The crypto backend expects pdst to be large enough with a src_len length that can be written. Add an additional src_len > dst_len check and bail out if it's the case. Note that these kfuncs are accessible under root privileges only.

EPSS

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

6 Medium

CVSS3

5.9 Medium

CVSS2