ipvs: Defer ip_vs_ftp unregister during netns cleanup
In the Linux kernel, the following vulnerability has been resolved: ipvs: Defer ip_vs_ftp unregister during netns cleanup On the netns cleanup path, __ip_vs_ftp_exit() may unregister ip_vs_ftp before connections with valid cp->app pointers are flushed, leading to a use-after-free. Fix this by introducing a global `exiting_module` flag, set to true in ip_vs_ftp_exit() before unregistering the pernet subsystem. In __ip_vs_ftp_exit(), skip ip_vs_ftp unregister if called during netns cleanup (when exiting_module is false) and defer it to __ip_vs_cleanup_batch(), which unregisters all apps after all connections are flushed. If called during module exit, unregister ip_vs_ftp immediately.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.246, 5.15.195, 5.4.301, 6.1.156, 6.12.53, 6.17.3, 6.6.112
- CVEs
- CVE-2025-40018
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 21:30 UTC · Revision 1
Source evidence
ipvs: Defer ip_vs_ftp unregister during netns cleanup
core-osv · Original sourcePublished 24 Oct 2025, 11:44 UTC
In the Linux kernel, the following vulnerability has been resolved: ipvs: Defer ip_vs_ftp unregister during netns cleanup On the netns cleanup path, __ip_vs_ftp_exit() may unregister ip_vs_ftp before connections with valid cp->app pointers are flushed, leading to a use-after-free. Fix this by introducing a global `exiting_module` flag, set to true in ip_vs_ftp_exit() before unregistering the pernet subsystem. In __ip_vs_ftp_exit(), skip ip_vs_ftp unregister if called during netns cleanup (when exiting_module is false) and defer it to __ip_vs_cleanup_batch(), which unregisters all apps after all connections are flushed. If called during module exit, unregister ip_vs_ftp immediately.
osv:CVE-2025-40018
Kernel
Fixed versions: 5.4.301, 5.10.246, 5.15.195, 6.1.156, 6.6.112, 6.12.53, 6.17.3
Complete source record
{
"id": "c65fc48c7409a7b193407c9ce4de2f39a7944e36b766af4df8bf06fbaa9e722c",
"url": "https://osv.dev/vulnerability/CVE-2025-40018",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "ipvs: Defer ip_vs_ftp unregister during netns cleanup",
"summary": "In the Linux kernel, the following vulnerability has been resolved: ipvs: Defer ip_vs_ftp unregister during netns cleanup On the netns cleanup path, __ip_vs_ftp_exit() may unregister ip_vs_ftp before connections with valid cp->app pointers are flushed, leading to a use-after-free. Fix this by introducing a global `exiting_module` flag, set to true in ip_vs_ftp_exit() before unregistering the pernet subsystem. In __ip_vs_ftp_exit(), skip ip_vs_ftp unregister if called during netns cleanup (when exiting_module is false) and defer it to __ip_vs_cleanup_batch(), which unregisters all apps after all connections are flushed. If called during module exit, unregister ip_vs_ftp immediately.",
"evidence": "osv:CVE-2025-40018",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.4.301",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.246",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.195",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.156",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.112",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.53",
"evidence": "/affected/1/ranges"
},
{
"value": "6.17.3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2025-40018",
"aliases": [
"CVE-2025-40018"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "61b1ab4583e275af216c8454b9256de680499b19"
},
{
"fixed": "8a6ecab3847c213ce2855b0378e63ce839085de3"
},
{
"fixed": "421b1ae1574dfdda68b835c15ac4921ec0030182"
},
{
"fixed": "1d79471414d7b9424d699afff2aa79fff322f52d"
},
{
"fixed": "53717f8a4347b78eac6488072ad8e5adbaff38d9"
},
{
"fixed": "8cbe2a21d85727b66d7c591fd5d83df0d8c4f757"
},
{
"fixed": "dc1a481359a72ee7e548f1f5da671282a7c13b8f"
},
{
"fixed": "a343811ef138a265407167294275201621e9ebb2"
},
{
"fixed": "134121bfd99a06d44ef5ba15a9beb075297c0821"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-40018.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.6.39"
},
{
"fixed": "5.4.301"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.246"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.195"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.156"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.112"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.53"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.17.3"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-40018.json"
}
}
],
"modified": "2026-10-28T02:30:39.718216241Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/134121bfd99a06d44ef5ba15a9beb075297c0821",
"https://git.kernel.org/stable/c/1d79471414d7b9424d699afff2aa79fff322f52d",
"https://git.kernel.org/stable/c/421b1ae1574dfdda68b835c15ac4921ec0030182",
"https://git.kernel.org/stable/c/53717f8a4347b78eac6488072ad8e5adbaff38d9",
"https://git.kernel.org/stable/c/8a6ecab3847c213ce2855b0378e63ce839085de3",
"https://git.kernel.org/stable/c/8cbe2a21d85727b66d7c591fd5d83df0d8c4f757",
"https://git.kernel.org/stable/c/a343811ef138a265407167294275201621e9ebb2",
"https://git.kernel.org/stable/c/dc1a481359a72ee7e548f1f5da671282a7c13b8f",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40018.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-40018",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40018.json"
}
},
"related_cves": [
{
"value": "CVE-2025-40018",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 507293,
"published_at": "2025-10-24T11:44:28.955+00:00"
}