През октомври 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 | Поправката е в процес | Все още не — използвайте временната защита |
| АлмаЛинукс 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
В Дебиан, uname -v Командата показва и пълната версия на пакета на работещото ядро: сравнете я с таблицата по-горе.
АлмаЛинукс, Роки Линукс, RHEL, Oracle Линукс:
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.
АлмаЛинукс 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 по-долу премахва всички входящи IPv4 TCP пакети с опции и не засяга 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
За да се възстанови правилото след всяко рестартиране, създайте системна услуга:
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, актуализирайте го до v26.10.31 или по-нова версия. Предишната версия, v26.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 конзолата в контролния панел и изберете предишното ядро от менюто за зареждане. Ако не сте сигурни, че можете да го направите сами или имате нужда от помощ с актуализацията, свържете се с нашия екип за поддръжка.