Вразливість CVE-2026-46331 у підсистемі керування трафіком ядра Linux дає змогу локальному користувачу без привілеїв отримати права root на уражених системах. Помилка запису за межі буфера в компоненті act_pedit призводить до пошкодження сторінкового кешу, а публічний робочий експлойт з’явився у відкритому доступі протягом доби після присвоєння CVE 16 червня 2026 року. Red Hat оцінює вразливість як Important. Уражені RHEL 8, 9, 10, Ubuntu з 18.04 по 26.04 і Debian 11–13. Адміністраторам багатокористувацьких систем, вузлів Kubernetes і CI/CD-серверів слід негайно встановити оновлене ядро або застосувати обхідні заходи.
Механізм вразливості
Утиліта tc у Linux дає змогу змінювати заголовки пакетів на льоту через дію pedit. Функція ядра tcf_pedit_act(), за даними дослідників, має створювати приватну копію даних перед редагуванням — стандартний патерн copy-on-write. Однак перевірка допустимого діапазону запису виконується до того, як стають відомі фінальні зсуви: частина ключів редагування визначає свої зсуви лише під час виконання. Коли підсумковий зсув виходить за межі приватно скопійованої області, запис потрапляє у спільну сторінку сторінкового кешу замість приватної копії.
Якщо ця сторінка належить кешованому файлу, його образ у пам’яті виявляється пошкодженим. Експлойт, як повідомляється, використовує це для отруєння кешованої копії двійкового файла з бітом setuid root (наприклад, /bin/su): інжектує невелике корисне навантаження і запускає змінений образ із правами root. При цьому файл на диску залишається недоторканим, і перевірки цілісності файлової системи не виявляють змін.
Цей клас помилок добре відомий: Dirty Pipe, DirtyClone, Dirty Frag — усі вони експлуатують ситуацію, коли ядро записує дані у сторінку, якою не володіє ексклюзивно. Відмінність CVE-2026-46331 — точка входу: користувач без привілеїв може налаштовувати дії tc ізсередини користувацького простору імен, отримуючи локальний привілей CAP_NET_ADMIN.
Передумови для експлуатації
Ланцюжок експлуатації вимагає одночасного виконання двох умов:
- Модуль act_pedit має бути доступний для завантаження в ядро.
- Непривілейовані користувацькі простори імен мають бути дозволені, щоб зловмисник міг отримати
CAP_NET_ADMINвсередині простору імен.
За даними автора експлойта, обидві умови виконувалися за замовчуванням на RHEL 10 і Debian 13 (trixie). На Ubuntu 24.04 експлуатація ймовірно потребувала обходу через профілі AppArmor, які дозволяють користувацькі простори імен. Ubuntu 26.04 блокує цей шлях за замовчуванням через обмеження AppArmor, хоча саме ядро залишається вразливим.
Уражені системи та стан виправлень
- Red Hat: RHEL 8, 9 і 10 перелічені як уражені. RHEL 7 у бюлетені не вказано.
- Ubuntu: підтримувані випуски з 18.04 по 26.04 позначено як вразливі станом на 25 червня 2026 року.
- Debian: trixie (Debian 13) виправлено через канал безпеки. Debian 11 і 12 досі значаться як вразливі.
Оцінка впливу
Найбільшому ризику піддаються системи, де «локальний користувач» не означає довіреного: багатокористувацькі сервери, вузли Kubernetes, робочі вузли CI/CD-конвеєрів, збірні сервери та спільні дослідницькі машини. Атака не залишає слідів на диску — стандартні засоби контролю цілісності файлів (AIDE, Tripwire, rpm -V) не зафіксують компрометацію, тоді як root-оболонка вже буде відкрита.
Додатковий фактор ризику — хронологія розкриття. Виправлення було опубліковане в списку розсилки netdev наприкінці травня 2026 року і, як повідомляється, було оформлене як звичайний патч для виправлення пошкодження даних — без CVE і без попередження про безпеку. CVE був присвоєний лише під час злиття виправлення 16 червня, а робочий експлойт з’явився протягом доби. Для вразливостей класу пошкодження сторінкового кешу очікування на сигнатурні правила сканера — неприйнятно повільна стратегія.
Рекомендації щодо реагування
Пріоритетна дія: встановити оновлене ядро і виконати перезавантаження. Якщо негайне оновлення неможливе, будь-який із двох обхідних заходів розриває ланцюг експлуатації:
Блокування модуля act_pedit
На системах, які не використовують правила pedit у tc, перевірте, чи завантажено модуль (lsmod | grep act_pedit) і заблокуйте його:
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.confВимкнення непривілейованих користувацьких просторів імен
На RHEL: user.max_user_namespaces=0. На Debian/Ubuntu: kernel.unprivileged_userns_clone=0. Цей захід прибирає можливість отримання CAP_NET_ADMIN, необхідного експлойту, але порушує роботу контейнерів без root-привілеїв, деяких CI-пісочниць і браузерних пісочниць. Обов’язково протестуйте перед застосуванням у продуктивному середовищі.
Якщо є підозра на компрометацію
Скидання сторінкового кешу (echo 3 > /proc/sys/vm/drop_caches) видаляє отруєну копію з пам’яті, але не усуває наслідки вже отриманого доступу рівня root. Якщо є підстави підозрювати експлуатацію — вважайте хост скомпрометованим і дійте за процедурою реагування на інцидент.
CVE-2026-46331 — чергова вразливість класу пошкодження сторінкового кешу, де традиційні засоби контролю цілісності файлів безсилі. Встановіть виправлене ядро на всі уражені системи, починаючи з багатокористувацьких вузлів та інфраструктури CI/CD. Якщо оновлення відкладається — заблокуйте модуль act_pedit вже сьогодні: це одна команда, яка не потребує перезавантаження і не впливає на роботу переважної більшості систем.