2026 թվականի հոկտեմբերին Linux միջուկում հայտնաբերվել է CVE-2026-98432 կրիտիկական խոցելիություն , որը CVSS սանդղակով գնահատվել է 10-ից 9.8 միավորով։ Այն ազդում է IPv4 TCP մուտքային կապերի մշակման վրա և որոշակի պայմաններում թույլ է տալիս հարձակվողին հեռակա կերպով ստանալ սերվերի root մուտք՝ առանց գաղտնաբառի և ադմինիստրատորի կողմից որևէ գործողություն պահանջելու։
Ստորև ներկայացված է, թե ով է տուժում, ինչպես ստուգել ձեր սերվերը և ինչպես պաշտպանել այն։ Բոլոր հրամանները կատարվում են որպես root կամ օգտագործողի կողմից։ sudo.
Խոցելիությունը համառոտ
- Թե դա ինչ է: Կոդի մեջ առկա սխալ, որը կարգավորում է IPv4 TCP կապերը մրցակցային պայմանի պատճառով։ Հարձակվողը հատուկ մշակված փաթեթներ է ուղարկում ցանկացած բաց TCP միացքի։
- Ազդված միջուկներ՝ Linux 4.4-ից սկսած բոլոր տարբերակներում, ինչը նշանակում է գործնականում բոլոր ներկայիս բաշխումներում։
- IPv6 չի ազդվում հիմնական սխալից։
- Որքանո՞վ է իրական սպառնալիքը. Անթրոպիկ հետազոտողները ցուցադրեցին գործող շահագործումների շղթա, որը մոտ 53 րոպեում root մուտք ստացավ Multipath TCP (MPTCP) միացված սերվերի վրա: Շահագործման կոդը դեռևս հրապարակված չէ:
- Հարձակումներ վայրի բնության մեջ. 2026 թվականի նոյեմբերի 1-ի դրությամբ որևէ շահագործման դեպք չի գրանցվել։ Սա թարմացումը հանգիստ տեղադրելու պատճառ է, այլ ոչ թե հետաձգելու։
Go ծառայությունները առանձին ռիսկ են կրում: Go 1.24-ից սկսած, Linux-ի սերվերային ծրագրերը լռելյայնորեն լսում են MPTCP-ի միջոցով միացքները, երբ միջուկը թույլ է տալիս դա: Ադմինիստրատորը կարող է նույնիսկ չիմանալ, որ իր սերվերը ընդունում է նման կապեր: Հայտնի ծրագրերի շարքում Xray-ը գործում է այսպես. դրա մշակողները արդեն թողարկել են արտակարգ տարբերակ՝ v26.10.31, որը լռելյայնորեն անջատում է MPTCP-ն:
Յուրաքանչյուր VPS ունի իր սեփական միջուկը, ուստի դուք պետք է ինքներդ թարմացնեք ձեր սերվերի միջուկը։ Մենք ինքներս ենք թարմացնում վիրտուալիզացիայի հանգույցները։
Կա՞ արդյոք լուծում ձեր համակարգի համար
Կարգավիճակը 2026 թվականի նոյեմբերի 1-ի դրությամբ։ Ուղղումները գրեթե ամեն օր են կատարվում. ներկայիս կարգավիճակի համար ստուգեք հոդվածի վերջում գտնվող հղումները։
| համակարգ | Ստատուս | Ուղղված միջուկ |
|---|---|---|
| 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
Միայն տարբերակի համարը ոչինչ չի ասում. բաշխումները backport ուղղումները կատարում են իրենց սեփական միջուկների մեջ՝ առանց հիմնական տարբերակը փոխելու: Ավելի հուսալի է ստուգել միջուկի փաթեթի փոփոխությունների գրանցամատյանը. եթե այն նշում է 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-րդ քայլի ժամանակավոր պաշտպանությունը։
ԱլմաԼինուքս 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 փաթեթներ, որոնք ունեն IPv4 վերնագրում IP տարբերակներ։ Դրանք գործնականում երբեք չեն հայտնվում սովորական երթևեկության մեջ, և 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
Յուրաքանչյուր վերագործարկումից հետո կանոնը վերականգնելու համար ստեղծեք 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, թարմացրեք այն մինչև v26.10.31 կամ ավելի նոր տարբերակ: Նախորդ տարբերակը՝ v26.10.29, հետ է կանչվել մշակողների կողմից: Այս թարմացումը անջատում է MPTCP-ն, բայց չի շտկում միջուկի խնդիրը, ուստի միջուկի թարմացումը դեռևս անհրաժեշտ է:
Ստուգեք ևս մեկ կարգավորում
Երկրորդ, ավելի նեղ շահագործման ուղին պահանջում է, որ հարցումների միգրացիան միացված լինի։ Այն լռելյայնորեն անջատված է. համոզվեք, որ այն միացված է։
sysctl net.ipv4.tcp_migrate_req
Հրամանը պետք է տպվի 0.
Սահմանափակեք ձեր ծառայությունների հասանելիությունը
Փակեք բոլոր firewall-ի միացքները, որոնք անհրաժեշտ չէ, որ հասանելի լինեն ինտերնետից: Հնարավորության դեպքում բացեք վարչական ծառայությունները՝ 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 կոնսոլի միջոցով և բեռնման ցանկում ընտրեք նախորդ միջուկը: Եթե վստահ չեք, որ կարող եք դա անել ինքներդ, կամ օգնության կարիք ունեք թարմացման հետ կապված, կապվեք մեր աջակցության թիմի հետ: