База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Критична вразливість ядра Linux CVE-2026-98432: Як перевірити та оновити свій VPS

Критична вразливість ядра Linux CVE-2026-98432: Як перевірити та оновити свій VPS


У жовтні 2026 року в ядрі Linux було виявлено критичну вразливість CVE-2026-98432 , яка отримала рейтинг 9.8 з 10 за шкалою CVSS. Вона впливає на обробку вхідних TCP-з’єднань IPv4 і за певних умов дозволяє зловмиснику отримати root-доступ до сервера віддалено — без пароля та без дій адміністратора.

Нижче описано, кого це стосується, як перевірити ваш сервер і як його захистити. Усі команди виконуються від імені root або з sudo.

Коротко про вразливість

  • Що це: помилка типу «використання після звільнення» в коді, яка налаштовує TCP-з'єднання IPv4, спричинена умовою гонки. Зловмисник надсилає спеціально створені пакети на будь-який відкритий TCP-порт.
  • Уражені ядра: кожна версія, починаючи з Linux 4.4, що означає практично кожен поточний дистрибутив.
  • IPv6 не залежить від основної помилки.
  • Наскільки реальна загроза: Дослідники Anthropic продемонстрували робочий ланцюжок експлойтів, який дозволив отримати root-доступ на сервері з увімкненим Multipath TCP (MPTCP) приблизно за 53 хвилини. Код експлойта не опубліковано.
  • Напади в дикій природі: Станом на 1 листопада 2026 року жодних повідомлень про експлуатацію не надходило. Це привід для спокійного оновлення, а не для того, щоб відкладати його.

Сервіси Go несуть окремий ризик. Починаючи з версії Go 1.24, серверні програми в Linux за замовчуванням прослуховують порти через MPTCP, коли ядро ​​це дозволяє. Адміністратор може навіть не знати, що його сервер приймає такі з'єднання. Серед популярних програм Xray працює таким чином — його розробники вже випустили аварійну версію v26.10.31, яка за замовчуванням вимикає MPTCP.

Кожен VPS працює на власному ядрі, тому вам потрібно самостійно оновлювати ядро ​​на вашому сервері. Ми самі оновлюємо вузли віртуалізації.

Чи є виправлення для вашої системи

Станом на 1 листопада 2026 року. Виправлення з’являються майже щодня — перегляньте посилання в кінці цієї статті, щоб дізнатися про поточний стан.

SYSTEM Статус Виправлене ядро
Debian 13 Виправлено linux 6.12.113-1
Debian 12 Виправлено linux 6.1.190-1
Ubuntu 22.04, 24.04, 26.04 Виправлення триває Ще ні — скористайтеся тимчасовим захистом
AlmaLinux 8, 9, 10 Виправлення в тестовому репозиторії 8: 4.18.0-553.180.2.el8_10
9: 5.14.0-687.61.2.el9_8
10: 6.12.0-211.69.2.el10_2
Рокі Лінукс, RHEL 8, 9, 10 Виправлення поки що немає Використовуйте тимчасовий захист
Oracle Linux 7–10 (UEK) Виправлено Через стандартне оновлення
SUSE / openSUSE Leap 16 Виправлено Через стандартне оновлення

Крок 1. Перевірте, яке ядро ​​ви використовуєте

Дізнайтеся версію запущеного ядра:

uname -r

Сам по собі номер версії нічого вам не говорить: дистрибутиви портують виправлення у власні ядра, не змінюючи базову версію. Надійніше перевірити журнал змін пакета ядра — якщо в ньому згадується номер CVE, виправлення вже встановлено.

Дебіан та Убунту:

apt changelog linux-image-$(uname -r) 2>/dev/null | grep CVE-2026-98432

На Debian, uname -v Команда також показує повну версію пакета працюючого ядра: порівняйте її з таблицею вище.

AlmaLinux, Rocky Linux, RHEL, Oracle Linux:

rpm -q --changelog kernel-core-$(uname -r) | grep CVE-2026-98432

Якщо команда нічого не виводить, то запущене ядро ​​вразливе.

Далі перевірте, які сервіси приймають з’єднання через MPTCP. Цільовою атаки були такі сервери:

ss -lnMp

Порожній вивід означає, що немає слухачів MPTCP.

Крок 2. Встановіть виправлене ядро

Зробіть резервну копію або знімок вашого сервера перед оновленням ядра.

Дебіан 12 та 13

Виправлені ядра знаходяться в репозиторії безпеки. Переконайтеся, що він увімкнений:

grep -r security.debian.org /etc/apt/sources.list /etc/apt/sources.list.d/

Якщо нічого не знайдено, додайте security.debian.org репозиторій для вашого релізу. Потім оновіть систему:

apt update
apt full-upgrade
reboot

Ubuntu

Виправлені ядра ще не випущені. Перевірте наявність оновлень:

apt update
apt list --upgradable | grep linux-image

Якщо ваш сервер підключено до Ubuntu Pro, ви можете перевірити план виправлення:

pro fix CVE-2026-98432 --dry-run

Після випуску виправлення встановіть його та перезавантажте систему:

apt update
apt full-upgrade
reboot

До того часу обов’язково застосовуйте тимчасовий захист з кроку 3.

AlmaLinux 8, 9, 10

Виправлені ядра наразі доступні лише в тестовому репозиторії. Встановіть їх, якщо вам зручно робити це на робочому сервері, і обов'язково зробіть знімок перед оновленням:

dnf install -y almalinux-release-testing
dnf update 'kernel*' --enablerepo=almalinux-testing
dnf config-manager --disable almalinux-testing
reboot

Після перезавантаження порівняйте uname -r з версіями, наведеними у таблиці вище. Якщо ви не бажаєте встановлювати тестові пакети, застосуйте тимчасовий захист і зачекайте, поки виправлення надійде до основного репозиторію.

Rocky Linux та інші системи на базі RHEL

Виправлення поки що немає. Ви можете слідкувати за ним за допомогою:

dnf --refresh updateinfo info --all --cves CVE-2026-98432

Після випуску виправлення:

dnf update kernel
reboot

Після оновлення: потрібне перезавантаження

Нове ядро ​​набуде чинності лише після перезавантаження. Щоб перевірити, чи потрібне воно:

# Debian and Ubuntu
[ -f /var/run/reboot-required ] && echo "Reboot required"

# AlmaLinux, Rocky, RHEL
needs-restarting -r

Після перезавантаження повторіть перевірку з кроку 1.

Крок 3. Тимчасовий захист, доки не стане доступним виправлене ядро

Ці заходи зменшують ризик, але не замінюють оновлення ядра.

Блокування тригерних пакетів

Атака використовує TCP-пакети з IP-опціями в заголовку IPv4. Вони практично ніколи не з'являються у звичайному трафіку, і RFC 7126 вже рекомендує їх відкидати. Правило nftables, наведене нижче, відкидає всі вхідні TCP-пакети IPv4 з опціями та не впливає на IPv6, UDP або ICMP. Воно працює разом з ufw та firewalld.

Встановіть nftables, якщо він ще не встановлений:

# Debian and Ubuntu
apt install -y nftables

# AlmaLinux, Rocky, RHEL
dnf install -y nftables

Створіть файл правил:

cat > /etc/cve-2026-98432.nft <<'EOF'
table ip cve_2026_98432 {
    chain pre {
        type filter hook prerouting priority -300; policy accept;
        meta l4proto tcp ip hdrlength gt 5 counter drop
    }
}
EOF

Щоб правило відновлювалося після кожного перезавантаження, створіть службу systemd:

cat > /etc/systemd/system/cve-2026-98432.service <<'EOF'
[Unit]
Description=Mitigation for CVE-2026-98432
After=network-pre.target nftables.service firewalld.service ufw.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=-/usr/sbin/nft delete table ip cve_2026_98432
ExecStart=/usr/sbin/nft -f /etc/cve-2026-98432.nft
ExecStop=/usr/sbin/nft delete table ip cve_2026_98432

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now cve-2026-98432.service

Перевірте, чи завантажено правило:

nft list table ip cve_2026_98432

Якщо перезапустити службу nftables з глобальним flush ruleset правило, біг systemctl restart cve-2026-98432 пізніше.

Важливо: не застосовуйте це правило до мереж, що використовують мітки CIPSO (SELinux або Smack NetLabel) — там зазвичай використовуються IP-опції. Якщо ваш сервер маршрутизує трафік для інших машин, правило також відкидатиме їхні TCP-пакети з IP-опціями.

Вимкніть MPTCP, якщо він вам не потрібен

sysctl -w net.mptcp.enabled=0
echo "net.mptcp.enabled = 0" > /etc/sysctl.d/99-disable-mptcp.conf

Цей параметр лише запобігає new Сокети MPTCP не створюються. Сервіси, які вже працюють, продовжуватимуть прослуховувати MPTCP, тому перезапустіть кожен сервіс, перелічений ss -lnMp і переконайтеся, що його вихід тепер порожній.

В AlmaLinux MPTCP вимкнено за замовчуванням, якщо ви не ввімкнули його самостійно.

Вимкнення MPTCP у програмах Go

Для сервісів, створених за допомогою Go 1.24 або пізнішої версії, ви можете вимкнути MPTCP за допомогою змінної середовища. Наприклад, для сервісу під назвою myservice:

systemctl edit myservice

Додайте наступний код до файлу, що відкриється:

[Service]
Environment=GODEBUG=multipathtcp=0

Потім перезапустіть службу:

systemctl restart myservice

Оновлення рентгенівського знімка

Якщо на вашому сервері працює Xray, оновіть його до версії 26.10.31 або пізнішої. Попередню версію, 26.10.29, було відкликано її розробниками. Це оновлення вимикає MPTCP, але не виправляє ядро, тому оновлення ядра все ще потрібне.

Перевірте ще один параметр

Другий, вужчий шлях експлуатації вимагає ввімкнення міграції запитів. За замовчуванням вона вимкнена — переконайтеся в цьому:

sysctl net.ipv4.tcp_migrate_req

Команда повинна вивести 0.

Обмежте доступ до своїх послуг

Закрийте кожен порт брандмауера, до якого не потрібно мати доступ з Інтернету. По можливості відкривайте адміністративні служби — SSH, панелі керування, бази даних — лише для довірених IP-адрес.

Крок 4. Після встановлення виправленого ядра

  1. Перезавантажте сервер і скористайтеся командами з кроку 1, щоб підтвердити, що виправлене ядро ​​працює.
  2. Ви можете видалити тимчасове правило:
    systemctl disable --now cve-2026-98432.service
    rm /etc/systemd/system/cve-2026-98432.service /etc/cve-2026-98432.nft
    systemctl daemon-reload

  3. Якщо вам потрібен MPTCP, відновіть налаштування: видалити /etc/sysctl.d/99-disable-mptcp.conf і біжи sysctl -w net.mptcp.enabled=1.

Якщо щось піде не так

Якщо ваш сервер не завантажується після оновлення ядра, підключіться через консоль VNC на панелі керування та виберіть попереднє ядро ​​в меню завантаження. Якщо ви не впевнені, що можете зробити це самостійно, або вам потрібна допомога з оновленням, зверніться до нашої служби підтримки.


Запитайте нас про VPS

Ми завжди готові відповісти на ваші запитання в будь-який час дня і ночі.