CVE-2025-68206
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-12-16

Last updated on: 2026-04-18

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_ct: add seqadj extension for natted connections Sequence adjustment may be required for FTP traffic with PASV/EPSV modes. due to need to re-write packet payload (IP, port) on the ftp control connection. This can require changes to the TCP length and expected seq / ack_seq. The easiest way to reproduce this issue is with PASV mode. Example ruleset: table inet ftp_nat { ct helper ftp_helper { type "ftp" protocol tcp l3proto inet } chain prerouting { type filter hook prerouting priority 0; policy accept; tcp dport 21 ct state new ct helper set "ftp_helper" } } table ip nat { chain prerouting { type nat hook prerouting priority -100; policy accept; tcp dport 21 dnat ip prefix to ip daddr map { 192.168.100.1 : 192.168.13.2/32 } } chain postrouting { type nat hook postrouting priority 100 ; policy accept; tcp sport 21 snat ip prefix to ip saddr map { 192.168.13.2 : 192.168.100.1/32 } } } Note that the ftp helper gets assigned *after* the dnat setup. The inverse (nat after helper assign) is handled by an existing check in nf_nat_setup_info() and will not show the problem. Topoloy: +-------------------+ +----------------------------------+ | FTP: 192.168.13.2 | <-> | NAT: 192.168.13.3, 192.168.100.1 | +-------------------+ +----------------------------------+ | +-----------------------+ | Client: 192.168.100.2 | +-----------------------+ ftp nat changes do not work as expected in this case: Connected to 192.168.100.1. [..] ftp> epsv EPSV/EPRT on IPv4 off. ftp> ls 227 Entering passive mode (192,168,100,1,209,129). 421 Service not available, remote server has closed connection. Kernel logs: Missing nfct_seqadj_ext_add() setup call WARNING: CPU: 1 PID: 0 at net/netfilter/nf_conntrack_seqadj.c:41 [..] __nf_nat_mangle_tcp_packet+0x100/0x160 [nf_nat] nf_nat_ftp+0x142/0x280 [nf_nat_ftp] help+0x4d1/0x880 [nf_conntrack_ftp] nf_confirm+0x122/0x2e0 [nf_conntrack] nf_hook_slow+0x3c/0xb0 .. Fix this by adding the required extension when a conntrack helper is assigned to a connection that has a nat binding.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-16
Last Modified
2026-04-18
Generated
2026-05-07
AI Q&A
2025-12-16
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability involves the Linux kernel's netfilter subsystem, specifically the nft_ct component handling FTP traffic with PASV/EPSV modes. The issue arises because sequence adjustment (seqadj) is required when rewriting packet payloads (IP and port) on the FTP control connection due to NAT (Network Address Translation). Without the proper seqadj extension, the FTP NAT changes do not work as expected, causing FTP connections in passive mode to fail, as the kernel misses the necessary sequence adjustment setup call.


How can this vulnerability impact me? :

This vulnerability can cause FTP connections using passive mode (PASV/EPSV) to fail when NAT is involved. Specifically, FTP sessions may be closed unexpectedly with errors like '421 Service not available,' disrupting FTP services and potentially impacting applications or users relying on FTP over NAT environments.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by observing kernel logs for warnings related to missing sequence adjustment setup calls, specifically messages like 'Missing nfct_seqadj_ext_add() setup call' and warnings from net/netfilter/nf_conntrack_seqadj.c. Additionally, testing FTP connections using PASV mode and checking for connection failures or unexpected behavior (e.g., '421 Service not available, remote server has closed connection') can indicate the presence of the issue. Monitoring the kernel log with commands such as 'dmesg | grep nfct_seqadj_ext_add' or 'journalctl -k | grep nfct_seqadj_ext_add' can help detect this vulnerability.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, ensure that the conntrack helper is assigned after the DNAT setup in your nftables ruleset, as the issue arises when the helper is assigned before DNAT. Adjust your nftables configuration so that the ftp helper assignment occurs after the DNAT rules. This can be done by ordering the rules appropriately in the nftables tables and chains. Additionally, applying the kernel patch that adds the required sequence adjustment extension when a conntrack helper is assigned to a connection with a NAT binding will resolve the issue.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart