CRITICAL Introduced in 2.6.36
ipvs SyncedConn UAF
CVE-2026-80714
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.7MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: ipvs: do not propagate one-packet flag to synced conns Synced connections can be created before their destination exists. When the destination is later added, ip_vs_bind_dest() copies connection flags from the destination into cp->flags. IP_VS_CONN_F_ONE_PACKET connections are not synced. If a synced connection inherits IP_VS_CONN_F_ONE_PACKET while it is already hashed, expiry can treat it as a one-packet connection and skip unlinking the existing conn_tab node, leaving stale hash nodes pointing at a freed struct ip_vs_conn. Drop IP_VS_CONN_F_ONE_PACKET from destination flags when binding synced connections.
02KernelScan AI Analysis
Risk summary
An administrator who configures IPVS with connection synchronization and one-packet scheduling can trigger a use-after-free in the kernel's connection hash table. When synced connections inherit the one-packet flag and later expire, they are freed without being unlinked, leaving stale pointers that cause kernel crashes or potential code execution. This requires CAP_NET_ADMIN to set up the vulnerable configuration.
Vulnerability analysis
When IPVS connection synchronization is active, a synced connection can be created before its destination exists. When that destination is later added with one-packet scheduling enabled, the binding process copies the one-packet flag into the already-hashed synced connection. On expiry, the one-packet flag causes the kernel to skip unlinking the connection from the global hash table, leaving stale hash nodes pointing at freed memory. The fix strips the one-packet flag from the destination flags before they are applied to a synced connection, so the expiry path always correctly unlinks the connection. This vulnerability is reachable from a local context requiring CAP_NET_ADMIN in the init namespace to configure IPVS with sync and one-packet scheduling, combined with network traffic flowing through the load balancer to create the synced connections.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.10 | 2.6.36 | 5.10.265 | 06d1d9b56ef8 |
| 5.15 | 2.6.36 | 5.15.216 | acbdc276091b |
| 6.1 | 2.6.36 | 6.1.183 | 300348e3ba15 |
| 6.12 | 2.6.36 | 6.12.103 | 4649e6faeecd |
| 6.18 | 2.6.36 | 6.18.44 | b5ee5b266f83 |
| 6.6 | 2.6.36 | 6.6.151 | 44af98cc7d5e |
| 7.1 | 2.6.36 | 7.1.8 | e7acfc990c29 |
| mainline | 2.6.36 | 7.2 | a63d2dbaeb50 |
| cip/4.19 | 2.6.36 | 4.19.325-cip136 | 55f6f9cce4f6 |
| cip/4.19-rt | 2.6.36 | 4.19.325-cip136-rt50 | 55f6f9cce4f6 |
| cip/4.4 | 2.6.36 | 4.4.302-cip115 | 2befc65d98f2 |
| cip/4.4-rt | 2.6.36 | 4.4.302-cip115-rt63 | 2befc65d98f2 |
| cip/5.10 | 2.6.36 | 5.10.268-cip77 | 06d1d9b56ef8 |
| cip/5.10-rt | 2.6.36 | 5.10.268-cip77-rt34 | 06d1d9b56ef8 |
| cip/6.1 | 2.6.36 | 6.1.187-cip60 | 300348e3ba15 |
| cip/6.1-rt | 2.6.36 | 6.1.189-cip61-rt32 | 300348e3ba15 |
| cip/6.12 | 2.6.36 | 6.12.104-cip30 | 4649e6faeecd |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.104-cip30 |
| cip/6.1 | Fixed in 6.1.187-cip60 |
| cip/6.1-rt | Fixed in 6.1.189-cip61-rt32 |
| cip/5.10 | Fixed in 5.10.268-cip77 |
| cip/5.10-rt | Fixed in 5.10.268-cip77-rt34 |
| cip/4.19 | Fixed in 4.19.325-cip136 |
| cip/4.19-rt | Fixed in 4.19.325-cip136-rt50 |
| cip/4.4 | Fixed in 4.4.302-cip115 |
| cip/4.4-rt | Fixed in 4.4.302-cip115-rt63 |