libceph: fix two unsafe bare decodes in decode_lockers()
In the Linux kernel, the following vulnerability has been resolved: libceph: fix two unsafe bare decodes in decode_lockers() decode_lockers() in cls_lock_client.c contains two bare decode operations that allow a malicious or compromised OSD to trigger slab-out-of-bounds reads: 1. ceph_decode_32(p) at the num_lockers field has no preceding bounds check. ceph_start_decoding() accepts struct_len=0 as valid -- the internal ceph_decode_need(p, end, 0, bad) always passes -- so when an OSD sends struct_len=0, ceph_start_decoding() returns success with p == end. The immediately following bare ceph_decode_32(p) then reads 4 bytes past the validated buffer boundary. The garbage value is passed directly to kzalloc_objs() as the locker count. The sibling function decode_watchers() in osd_client.c already uses ceph_decode_32_safe() after its own ceph_start_decoding() call. decode_lockers() was the only site using the bare variant. 2. ceph_decode_8(p) after the decode_locker() loop has no preceding bounds check. If an OSD crafts num_lockers such that the loop advances p exactly to end, the subsequent bare ceph_decode_8(p) reads one byte past the validated buffer boundary. The result is passed directly into *type, which is used as a lock type discriminator by callers, giving an OSD-controlled one-byte OOB read with direct influence over the lock type field. Fix both by replacing bare operations with their safe variants: ceph_decode_32(p) -> ceph_decode_32_safe(p, end, *num_lockers, err_inval) ceph_decode_8(p) -> ceph_decode_8_safe(p, end, *type, err_free_lockers) The goto targets differ intentionally: err_inval: is a new label returning -EINVAL directly. It is used for the pre-allocation failure path where *lockers is not yet allocated and must not be passed to ceph_free_lockers(). err_free_lockers: is the existing label. It is used for the post-allocation failure path where *lockers is allocated and must be freed. ret is set to -EINVAL before ceph_decode_8_safe() so that err_free_lockers returns the correct error code on bounds violation. Without this, err_free_lockers would return a stale ret value (0 from the successful decode_locker() loop), silently swallowing the error. -EINVAL is correct for both failure paths. The data received from the OSD is structurally malformed. -ENOMEM would misrepresent the failure class to callers and to stable@ backporters triaging error paths. Attacker model: a malicious or compromised OSD in a multi-tenant Ceph deployment can trigger this against any kernel client that issues the lock.get_info class method (e.g. during RBD exclusive lock acquisition). [ idryomov: trim changelog, formatting ]
- Опубликовано
- 8 авг. 2026 г.
- Обновлено
- 23 авг. 2026 г.
- EPSS
- 0,4 % · 32-й процентиль
- CWE
- —
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
39
Наблюдать
Пока низкий приоритет.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,4 %
Оценка CNA и NVD
- NVD
- —
- CNA · Linux
- 9,8
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЗатронутые системы
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 4.9затронута
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до c8ade01170a27d8ede0d761c255268af81e417f8затронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до 001835c599899ef1bd3506a815110a6374451554затронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до 7c422364acd93d7da1dfc27d6b54635a269653a1затронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до 02430f6f729b297e803d0605871f0a670b4eafd6затронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до 57ba829804fe6d34bbac3b826c4b15c1caa54862затронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до 89df5d71f83f8e2781286798fd8ae5e42cf5f1a7затронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до a54be593d0b749161b08a1e56189b2cb9114267aзатронута · git
- d4ed4a530562881cc5225050e42d96034f405aae и новее · до a109a556115271ca7896dcda7b4b7e45e156c227затронута · git
- до 4.9не затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | linux | до 6.1.187-1 | 6.1.187-1 |
| Debian:12 | linux-6.12 | до 6.12.107-1~deb12u1 | 6.12.107-1~deb12u1 |
| Debian:13 | linux | до 6.12.105-1 | 6.12.105-1 |
| Debian:14 | linux | до 7.1.6-1 | 7.1.6-1 |
| openSUSE:Tumbleweed | kernel-source | до 7.1.8-1.1 | 7.1.8-1.1 |
Тот же продукт
linux: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40В плане
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40В плане
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40В плане
- CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler40В плане
- CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index40В плане
- CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index40В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 001835c599899ef1bd3506a815110a6374451554 | Вендор (CNA) |
| Linux Linux | 02430f6f729b297e803d0605871f0a670b4eafd6 | Вендор (CNA) |
| Linux Linux | 57ba829804fe6d34bbac3b826c4b15c1caa54862 | Вендор (CNA) |
| Linux Linux | 7c422364acd93d7da1dfc27d6b54635a269653a1 | Вендор (CNA) |
| Linux Linux | 89df5d71f83f8e2781286798fd8ae5e42cf5f1a7 | Вендор (CNA) |
| Linux Linux | a109a556115271ca7896dcda7b4b7e45e156c227 | Вендор (CNA) |
| Linux Linux | a54be593d0b749161b08a1e56189b2cb9114267a | Вендор (CNA) |
| Linux Linux | c8ade01170a27d8ede0d761c255268af81e417f8 | Вендор (CNA) |
| azl3 kernel 6.6.152.1-1 on Azure Linux 3.0 | 6.6.157.1-1 · Release Notes | Microsoft (MSRC) |
| debian:linux | 6.1.187-1 · Debian:12 | Реестр пакетов (OSV) |
| debian:linux-6.12 | 6.12.107-1~deb12u1 · Debian:12 | Реестр пакетов (OSV) |
| opensuse:kernel-source | 7.1.8-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Национальное уведомление (Управление кибербезопасности Турции / USOM)
Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.
- TR-26-0795 · 10 авг. 2026 г.(Linux Kernel Güvenlik Bildirimi)
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
—
Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- git.kernel.org/stable/c/001835c599899ef1bd3506a815110a6374451554
- git.kernel.org/stable/c/02430f6f729b297e803d0605871f0a670b4eafd6
- git.kernel.org/stable/c/57ba829804fe6d34bbac3b826c4b15c1caa54862
- git.kernel.org/stable/c/7c422364acd93d7da1dfc27d6b54635a269653a1
- git.kernel.org/stable/c/89df5d71f83f8e2781286798fd8ae5e42cf5f1a7
- git.kernel.org/stable/c/a109a556115271ca7896dcda7b4b7e45e156c227
- git.kernel.org/stable/c/a54be593d0b749161b08a1e56189b2cb9114267a
- git.kernel.org/stable/c/c8ade01170a27d8ede0d761c255268af81e417f8
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.