У кастрычніку 2026 года ў ядры Linux была выяўлена крытычная ўразлівасць CVE-2026-98432 , якая атрымала рэйтынг 9.8 з 10 па шкале CVSS. Яна ўплывае на тое, як апрацоўваюцца ўваходныя злучэнні IPv4 TCP, і пры пэўных умовах дазваляе зламысніку атрымаць root-доступ да сервера дыстанцыйна — без пароля і без неабходнасці дзеянняў адміністратара.
Ніжэй паказана, хто пацярпеў, як праверыць ваш сервер і як яго абараніць. Усе каманды выконваюцца ад імя root або з дапамогай sudo.
Уразлівасць коратка
- Што гэта: памылка тыпу «выкарыстанне пасля вызвалення» ў кодзе, якая наладжвае злучэнні IPv4 TCP, выкліканая ўмовай гонкі. Зламыснік адпраўляе спецыяльна створаныя пакеты на любы адкрыты 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 г. Выпраўленні з'яўляюцца амаль штодня — праверце спасылкі ў канцы гэтага артыкула, каб даведацца пра бягучы стан.
| Сістэма | Стан | Выпраўленае ядро |
|---|---|---|
| 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
Гэтая налада толькі прадухіляе новы Створаныя сокеты 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, каб пераканацца, што выпраўленае ядро працуе.
- Вы можаце выдаліць часовае правіла:
systemctl disable --now cve-2026-98432.service
rm /etc/systemd/system/cve-2026-98432.service /etc/cve-2026-98432.nft
systemctl daemon-reload - Калі вам патрэбны MPTCP, аднавіце наладу: выдаліць
/etc/sysctl.d/99-disable-mptcp.confі запусціцьsysctl -w net.mptcp.enabled=1.
Калі нешта пойдзе не так
Калі ваш сервер не загружаецца пасля абнаўлення ядра, падключыцеся праз кансоль VNC у панэлі кіравання і абярыце папярэдняе ядро ў меню загрузкі. Калі вы не ўпэўненыя, што можаце зрабіць гэта самастойна, або вам патрэбна дапамога з абнаўленнем, звярніцеся ў нашу службу падтрымкі.