CVE-2025-68206

Source
https://cve.org/CVERecord?id=CVE-2025-68206
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68206.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-68206
Downstream
Related
Published
2025-12-16T13:48:33.763Z
Modified
2026-04-02T13:03:23.223882Z
Summary
netfilter: nft_ct: add seqadj extension for natted connections
Details

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 ftpnat { ct helper ftphelper { 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 nfnatsetup_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 nfctseqadjextadd() setup call WARNING: CPU: 1 PID: 0 at net/netfilter/nfconntrack_seqadj.c:41 [..] _nfnatmangletcppacket+0x100/0x160 [nfnat] nfnatftp+0x142/0x280 [nfnatftp] help+0x4d1/0x880 [nfconntrackftp] nfconfirm+0x122/0x2e0 [nfconntrack] nfhookslow+0x3c/0xb0 ..

Fix this by adding the required extension when a conntrack helper is assigned to a connection that has a nat binding.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/68xxx/CVE-2025-68206.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1a64edf54f55d7956cf5a0d95898bc1f84f9b818
Fixed
4de80f0dc3868408dd7fe9817e507123c9dd8bb0
Fixed
b477ef7fa612fa45b6b3134d90d1eeb09396500a
Fixed
4ab2cd906e4e1a19ddbda6eb532851b0e9cda110
Fixed
2b52d89cbbb0dbe3e948d8d9a91e704316dccfe6
Fixed
90918e3b6404c2a37837b8f11692471b4c512de2

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68206.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.12.0
Fixed
6.1.167
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.130
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.64
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.17.9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68206.json"