Перейти к содержимому
Noroxi
CVE-2026-68082· NVD / CVE Program· CNA Linux

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 ]

КритическаяCVSS 9.8 · v3.1—Эксплойта нет Есть исправление
Опубликовано
8 авг. 2026 г.
Обновлено
23 авг. 2026 г.
EPSS
0,4 % · 32-й процентиль
CWE
—
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

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:12linuxдо 6.1.187-16.1.187-1
Debian:12linux-6.12до 6.12.107-1~deb12u16.12.107-1~deb12u1
Debian:13linuxдо 6.12.105-16.12.105-1
Debian:14linuxдо 7.1.6-17.1.6-1
openSUSE:Tumbleweedkernel-sourceдо 7.1.8-1.17.1.8-1.1

Тот же продукт

linux: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation
    40В плане
  • CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment
    40В плане
  • CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()
    40В плане
  • CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler
    40В плане
  • CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index
    40В плане
  • CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index
    40В плане

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Linux Linux001835c599899ef1bd3506a815110a6374451554Вендор (CNA)
Linux Linux02430f6f729b297e803d0605871f0a670b4eafd6Вендор (CNA)
Linux Linux57ba829804fe6d34bbac3b826c4b15c1caa54862Вендор (CNA)
Linux Linux7c422364acd93d7da1dfc27d6b54635a269653a1Вендор (CNA)
Linux Linux89df5d71f83f8e2781286798fd8ae5e42cf5f1a7Вендор (CNA)
Linux Linuxa109a556115271ca7896dcda7b4b7e45e156c227Вендор (CNA)
Linux Linuxa54be593d0b749161b08a1e56189b2cb9114267aВендор (CNA)
Linux Linuxc8ade01170a27d8ede0d761c255268af81e417f8Вендор (CNA)
azl3 kernel 6.6.152.1-1 on Azure Linux 3.06.6.157.1-1 · Release NotesMicrosoft (MSRC)
debian:linux6.1.187-1 · Debian:12Реестр пакетов (OSV)
debian:linux-6.126.12.107-1~deb12u1 · Debian:12Реестр пакетов (OSV)
opensuse:kernel-source7.1.8-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Национальное уведомление (Управление кибербезопасности Турции / USOM)

Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.

Все национальные уведомления →

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Класс уязвимости (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.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи