CVE-2025-68206

CVE-2025-68206

High · published December 16, 2025

CVSS v3.1
7.5
EPSS
1%
Percentile
53.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00712 · 53.0th percentile
Published
2025-12-16T19:15Z
References (11)
EPSS history
Timeline
  • 16 DEC 13:48Z
    netfilter: nft_ct: add seqadj extension for natted connections
    cvelistv5