Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-99285— netfilter: nft_byteorder: remove multi-register support

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 Linux 内核中,以下漏洞已得到修复: netfilter: nft_byteorder:移除多寄存器支持 当需要对多个寄存器进行 64 位字节序转换时,转换功能会出现错误。原因是源寄存器数组的步进以 4 字节为单位递增,而非 8 字节: 因此,决定移除多寄存器支持功能,该功能还存在其他问题: Pablo 指出,提交 ("netfilter: nf_tables: 防止 nft_byteorder_eval 中的越界访问")改变了原有语义:在补丁之前,循环操作的是寄存器,即: 但在补丁之后,循环操作的是字节,

AI Predicted 3.7 Difficulty: Theoretical EPSS 0.17% · P6

Affected Version Matrix 22

VendorProduct Version RangeStatus
Linux Linux c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63< 3c5fb3a6c8118d15e60295e76fb5b879021eef43 affected
c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63< dc29c0478b8564feb9371e715b5a0016eb8903fd affected
c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63< bb061d3de41707415269be75ebf700efb03ec212 affected
fca41e5b687e029f69e3a35a2fa31e2560e538dc affected
25b42be4e067e107a2559266b54bf07fa5b094fb affected
9a865a11d6890d4a789db1eaafebdc8bd092b12c affected
b8b514b2a6cdfac24911e4910461bcb9db15ca8d affected
18a169810cff769a7a697b35058c756805f589e0 affected
… +14 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-99285

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
netfilter: nft_byteorder: remove multi-register support
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_byteorder: remove multi-register support 64bit byteorder conversion is broken when several registers need to be converted because the source register array advances in steps for 4 bytes instead of 8: for (i = ... src64 = nft_reg_load64(&src[i]); ~~~~~ u32 *src nft_reg_store64(&dst64[i], Remove the multi-register support, it has other issues as well: Pablo points out that commit caf3ef7468f7 ("netfilter: nf_tables: prevent OOB access in nft_byteorder_eval") alters semantics: before the loop operated on registers, i.e. for ( ... ) dst32[i] = htons((u16)src32[i]) .. but after the patch it will operate on bytes, which makes this useless to convert e.g. concatenations, which store each compound in its own register. Multi-convert of u32 has one theoretical application: ct mark . meta mark . tcp dport @intervalset Because ct mark and meta mark are host byte order, use with intervals has to convert the byteorder for ct/meta mark value to network byte order (bigendian). nftables emits this: [ meta load mark => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] [ ct load mark => reg 9 ] [ byteorder reg 9 = hton(reg 9, 4, 4) ] ... I.e. two separate calls. Theoretically it could be changed to do: [ meta load mark => reg 1 ] [ ct load mark => reg 9 ] [ byteorder reg 1 = htonl(reg 1, 4, 8) ] ... But then all it would take to change the set to meta mark . tcp dport . ct mark ... and we'd be back to two "byteorder" calls. IOW, support to convert a range of registers is both dysfunctional and dubious. Simplify this: remove the feature. Pablo Neira Ayuso points out that nftables before 1.1.0 can generate incorrect byteorder conversions, see 9fe58952c45a, "evaluate: skip byteorder conversion for selector smaller than 2 bytes" in nftables.git). Affected rulesets fail to load with this change and old userspace due to 'len != size' check.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63 ~ 3c5fb3a6c8118d15e60295e76fb5b879021eef43 -
Linux Linux 6.7 -

II. Public POCs for CVE-2026-99285

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-99285

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-99285 (3)

Same Patch Batch · Linux · 2026-11-10 · 4 CVEs total

CVE-2026-99286 xen-netback: Fix XenBus connection failure cleanup
CVE-2026-99287 xen-netback: Zero out sring pointers on unmap
CVE-2026-99288 inet: reject unhashed sockets during established lookups

IV. Related Vulnerabilities