{"id":"CVE-2026-39402","aliases":["DEBIAN-CVE-2026-39402","EUVD-2026-27497","GHSA-3m9j-g9gc-vcvq","MGASA-2026-0172","OESA-2026-2657","UBUNTU-CVE-2026-39402","USN-8826-1","openSUSE-SU-2026:10678-1","openSUSE-SU-2026:11651-1"],"status":"published","title":"lxc lxc-user-nic insufficient ownership validation allows cross-tenant OVS port deletion","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge. \n\nThis is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","severity":{"version":"4.0","score":4.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00162,"percentile":0.05383,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-863"],"published":"2026-05-04T00:00:00Z","modified":"2026-10-28T02:30:43Z","fixes":[{"ecosystem":"Debian:12","package":"lxc","fixed_in":["1:5.0.2-1+deb12u4"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"lxc","fixed_in":["1:6.0.4-4+deb13u3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"lxc","fixed_in":["1:7.0.0-1"],"sources":["osv"]},{"ecosystem":"Mageia:9","package":"lxc","fixed_in":["5.0.3-1.1.mga9"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP4","package":"lxc","fixed_in":["4.0.3-2022102419.oe2003sp4"],"sources":["osv"]},{"ecosystem":"openEuler:22.03-LTS-SP4","package":"lxc","fixed_in":["4.0.3-2022102428.oe2203sp4"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP1","package":"lxc","fixed_in":["5.0.2-19.oe2403sp1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP3","package":"lxc","fixed_in":["5.0.2-19.oe2403sp3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"lxc","fixed_in":["3.0.3-0ubuntu1~18.04.3+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"lxc","fixed_in":["1:4.0.12-0ubuntu1~20.04.1+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"lxc","fixed_in":["1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:24.04:LTS","package":"lxc","fixed_in":["1:5.0.3-2ubuntu7.3+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:26.04:LTS","package":"lxc","fixed_in":["1:6.0.6-1ubuntu1+esm1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"lxc","fixed_in":["7.0.0-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:5.0.2-1+deb12u4"}]}],"versions":["1:5.0.2-1","1:5.0.2-1+deb12u1","1:5.0.2-1+deb12u2","1:5.0.2-1+deb12u3"]},{"source":"osv","ecosystem":"Debian:13","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:6.0.4-4+deb13u3"}]}],"versions":["1:6.0.4-4","1:6.0.4-4+deb13u1","1:6.0.4-4+deb13u2"]},{"source":"osv","ecosystem":"Debian:14","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:7.0.0-1"}]}],"versions":["1:6.0.4-4","1:6.0.5-1","1:6.0.5-2","1:6.0.6-1","1:6.0.6-2","1:6.0.6-3"]},{"source":"osv","ecosystem":"Mageia:9","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.0.3-1.1.mga9"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP4","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.3-2022102419.oe2003sp4"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP4","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.3-2022102428.oe2203sp4"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.0.2-19.oe2403sp1"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.0.2-19.oe2403sp3"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.0.0~alpha1-0ubuntu11","1.0.0~alpha2-0ubuntu1","1.0.0~alpha2-0ubuntu3","1.0.0~alpha2-0ubuntu4","1.0.0~alpha2-0ubuntu5","1.0.0~alpha2-0ubuntu6","1.0.0~alpha3-0ubuntu1","1.0.0~alpha3-0ubuntu2","1.0.0~alpha3-0ubuntu3","1.0.0~alpha3-0ubuntu4","1.0.0~alpha3-0ubuntu5","1.0.0~alpha3-0ubuntu6","1.0.0~alpha3-0ubuntu7","1.0.0~alpha3-0ubuntu8","1.0.0~beta1-0ubuntu1","1.0.0~beta1-0ubuntu2","1.0.0~beta1-0ubuntu3","1.0.0~beta2-0ubuntu1","1.0.0~beta2-0ubuntu2","1.0.0~beta3-0ubuntu1","1.0.0~beta4-0ubuntu1","1.0.0~beta4-0ubuntu2","1.0.0~rc1-0ubuntu2","1.0.0~rc3-0ubuntu1","1.0.0~rc4-0ubuntu1","1.0.0-0ubuntu1","1.0.0-0ubuntu2","1.0.0-0ubuntu3","1.0.0-0ubuntu4","1.0.1-0ubuntu1","1.0.2-0ubuntu1","1.0.2-0ubuntu2","1.0.3-0ubuntu1","1.0.3-0ubuntu2","1.0.3-0ubuntu3","1.0.4-0ubuntu0.1","1.0.5-0ubuntu0.1","1.0.6-0ubuntu0.1","1.0.7-0ubuntu0.1","1.0.7-0ubuntu0.2","1.0.7-0ubuntu0.5","1.0.7-0ubuntu0.6","1.0.7-0ubuntu0.7","1.0.7-0ubuntu0.9","1.0.7-0ubuntu0.10","1.0.8-0ubuntu0.3","1.0.8-0ubuntu0.4","1.0.9-0ubuntu2","1.0.9-0ubuntu3","1.0.10-0ubuntu1","1.0.10-0ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.0.3-0ubuntu1~18.04.3+esm1"}]}],"versions":["2.1.0-0ubuntu1","2.1.1-0ubuntu1","3.0.0~beta1-0ubuntu3","3.0.0~beta2-0ubuntu2","3.0.0~beta3-0ubuntu1","3.0.0~beta4-0ubuntu1","3.0.0-0ubuntu1","3.0.0-0ubuntu2","3.0.1-0ubuntu1~18.04.1","3.0.1-0ubuntu1~18.04.2","3.0.2-0ubuntu1~18.04.1","3.0.3-0ubuntu1~18.04.1","3.0.3-0ubuntu1~18.04.3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.0.12-0ubuntu1~20.04.1+esm1"}]}],"versions":["3.0.4-0ubuntu1","3.0.4-0ubuntu2","1:4.0.0-0ubuntu2","1:4.0.1-0ubuntu1","1:4.0.1-0ubuntu2","1:4.0.2-0ubuntu1","1:4.0.6-0ubuntu1~20.04.1","1:4.0.12-0ubuntu1~20.04.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1"}]}],"versions":["1:4.0.10-0ubuntu5","1:4.0.12-0ubuntu1","1:4.0.12-0ubuntu2","1:5.0.0~git2209-g5a7b9ce67-0ubuntu1","1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:5.0.3-2ubuntu7.3+esm1"}]}],"versions":["1:5.0.1-0ubuntu7","1:5.0.1-0ubuntu8","1:5.0.3-2ubuntu5","1:5.0.3-2ubuntu7","1:5.0.3-2ubuntu7.1","1:5.0.3-2ubuntu7.2","1:5.0.3-2ubuntu7.3"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:6.0.3-1","1:6.0.4-2","1:6.0.4-3","1:6.0.4-4","1:6.0.4-4ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:6.0.6-1ubuntu1+esm1"}]}],"versions":["1:6.0.4-4ubuntu1","1:6.0.6-1","1:6.0.6-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-0ubuntu1~16.04.3+esm1"}]}],"versions":["1.1.4-0ubuntu1","1.1.4-0ubuntu1.1","1.1.4-0ubuntu3","1.1.5-0ubuntu1","1.1.5-0ubuntu2","1.1.5-0ubuntu3","1.1.5-0ubuntu4","1.1.5-0ubuntu5","1.1.5-0ubuntu6","2.0.0~beta2-0ubuntu2","2.0.0~rc1-0ubuntu1","2.0.0~rc2-0ubuntu2","2.0.0~rc3-0ubuntu1","2.0.0~rc3-0ubuntu2","2.0.0~rc3-0ubuntu3","2.0.0~rc4-0ubuntu1","2.0.0~rc5-0ubuntu1","2.0.0~rc9-0ubuntu1","2.0.0~rc10-0ubuntu1","2.0.0~rc10-0ubuntu2","2.0.0~rc11-0ubuntu1","2.0.0~rc12-0ubuntu1","2.0.0~rc13-0ubuntu2","2.0.0~rc14-0ubuntu2","2.0.0~rc15-0ubuntu1","2.0.0-0ubuntu1","2.0.0-0ubuntu2","2.0.1-0ubuntu1~16.04.1","2.0.3-0ubuntu1~ubuntu16.04.1","2.0.4-0ubuntu1~ubuntu16.04.2","2.0.5-0ubuntu1~ubuntu16.04.1","2.0.5-0ubuntu1~ubuntu16.04.2","2.0.5-0ubuntu1~ubuntu16.04.3","2.0.6-0ubuntu1~ubuntu16.04.1","2.0.6-0ubuntu1~ubuntu16.04.2","2.0.7-0ubuntu1~16.04.1","2.0.7-0ubuntu1~16.04.2","2.0.8-0ubuntu1~16.04.2","2.0.11-0ubuntu1~16.04.3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.0.3-0ubuntu1~18.04.3+esm1"}]}],"versions":["2.1.0-0ubuntu1","2.1.1-0ubuntu1","3.0.0~beta1-0ubuntu3","3.0.0~beta2-0ubuntu2","3.0.0~beta3-0ubuntu1","3.0.0~beta4-0ubuntu1","3.0.0-0ubuntu1","3.0.0-0ubuntu2","3.0.1-0ubuntu1~18.04.1","3.0.1-0ubuntu1~18.04.2","3.0.2-0ubuntu1~18.04.1","3.0.3-0ubuntu1~18.04.1","3.0.3-0ubuntu1~18.04.3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.0.12-0ubuntu1~20.04.1+esm1"}]}],"versions":["3.0.4-0ubuntu1","3.0.4-0ubuntu2","1:4.0.0-0ubuntu2","1:4.0.1-0ubuntu1","1:4.0.1-0ubuntu2","1:4.0.2-0ubuntu1","1:4.0.6-0ubuntu1~20.04.1","1:4.0.12-0ubuntu1~20.04.1"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1+esm1"}]}],"versions":["1:4.0.10-0ubuntu5","1:4.0.12-0ubuntu1","1:4.0.12-0ubuntu2","1:5.0.0~git2209-g5a7b9ce67-0ubuntu1","1:5.0.0~git2209-g5a7b9ce67-0ubuntu1.1"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:5.0.3-2ubuntu7.3+esm1"}]}],"versions":["1:5.0.1-0ubuntu7","1:5.0.1-0ubuntu8","1:5.0.3-2ubuntu5","1:5.0.3-2ubuntu7","1:5.0.3-2ubuntu7.1","1:5.0.3-2ubuntu7.2","1:5.0.3-2ubuntu7.3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:6.0.6-1ubuntu1+esm1"}]}],"versions":["1:6.0.4-4ubuntu1","1:6.0.6-1","1:6.0.6-1ubuntu1"],"bundled":2},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"lxc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.0.0-1.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"incus","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.4-1.1"}]}],"bundled":21}],"products":[{"vendor":"linuxcontainers","product":"lxc"},{"vendor":"lxc","product":"lxc"}],"references":[{"url":"https://github.com/lxc/lxc/security/advisories/GHSA-3m9j-g9gc-vcvq","tags":["x_refsource_CONFIRM","exploit","Exploit","Vendor Advisory","advisory","report"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39402.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39402","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-39402","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0172.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=35487","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/message/LRWSIWUURCABTGG26SGDYX7OCPQ7FIS7/","tags":["web"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2657","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-39402","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-39402","tags":["report"]},{"url":"https://github.com/lxc/lxc/pull/4678","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8826-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2022-47952","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-39402","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47753","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48749","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48750","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48751","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48752","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48753","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48754","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48755","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48756","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48769","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55621","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55622","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-62313","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-62867","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-62940","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-62941","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-63125","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-63343","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81500","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-81501","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-39402","title":"lxc lxc-user-nic insufficient ownership validation allows cross-tenant OVS port deletion","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge. \n\nThis is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","status":"published","published":"2026-05-05T20:45:24.107Z","modified":"2026-05-06T14:57:40.046Z","cvss":[{"version":"4.0","score":4.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H","level":"medium","assessor":"cna"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:20:02.662847Z"}],"euvd":[{"id":"EUVD-2026-27497","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge. \n\nThis is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","status":"published","published":"2026-05-05T20:45:24Z","modified":"2026-05-06T14:57:40Z","cvss":[{"version":"4.0","score":4.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H","level":"medium"}],"updated_at":"2026-11-02T19:05:16.191098Z"}],"nvd":[{"id":"CVE-2026-39402","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge. \n\nThis is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","status":"published","published":"2026-05-05T21:16:22.537Z","modified":"2026-07-24T21:10:00.143Z","cvss":[{"version":"4.0","score":4.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H","level":"medium","assessor":"primary"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:12:17.418622Z"}],"osv":[{"id":"CVE-2026-39402","title":"lxc lxc-user-nic insufficient ownership validation allows cross-tenant OVS port deletion","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge. \n\nThis is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","status":"published","published":"2026-05-05T20:45:24.107Z","modified":"2026-10-28T02:30:43.003750687Z","cvss":[{"version":"4.0","score":4.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H","level":"medium"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:45:03.040464Z"},{"id":"DEBIAN-CVE-2026-39402","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge.   This is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","status":"published","published":"2026-05-05T21:16:22.537Z","modified":"2026-10-01T03:03:11.68791352Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:45:54.892385Z"},{"id":"OESA-2026-2657","title":"lxc security update","description":"Linux Containers userspace tools\r\n\r\nSecurity Fix(es):\n\nlxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user\u0026apos;s OVS port on the same bridge. \n\nThis is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.(CVE-2026-39402)","status":"published","published":"2026-06-12T11:11:35Z","modified":"2026-08-18T01:20:04.53257343Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"UBUNTU-CVE-2026-39402","description":"lxc is a Linux container runtime. In the setuid helper lxc-user-nic, the delete path contains a logic flaw in the find_line() function that allows an unprivileged user to delete OVS-attached network interfaces belonging to other users. When lxc-user-nic delete scans its NIC database to authorize a deletion request, the interface name comparison can set the authorization flag based on a name match alone, even when the ownership, type, and link fields in that database entry belong to a different user. The vulnerable check sits after the goto next label handling, meaning it is reachable on lines where earlier ownership checks failed or were skipped. Because nothing downstream of this authorization signal re-verifies that the matched database line actually belongs to the caller, an unprivileged attacker with a valid lxc-usernet policy entry can trigger deletion of another user's OVS port on the same bridge. This is limited to multi-tenant environments using lxc-user-nic with OpenVSwitch bridges. The impact is denial of service - one tenant can repeatedly disconnect networking from containers run by another tenant on shared infrastructure. This is patched in version 7.0.0.","status":"published","published":"2026-05-05T21:16:00Z","modified":"2026-09-28T11:30:24.423812667Z","cvss":[{"version":"4.0","score":4.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:H","level":"medium"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T16:56:16.686388Z"},{"id":"MGASA-2026-0172","title":"Updated lxc packages fix security vulnerability","description":"CVE-2026-39402, lxc lxc-user-nic insufficient ownership validation\nallows cross-tenant OVS port deletion\n","status":"published","published":"2026-06-04T05:19:26Z","modified":"2026-06-04T05:30:04.116722403Z","updated_at":"2026-11-02T15:49:43.178336Z"},{"id":"openSUSE-SU-2026:10678-1","title":"liblxc-devel-7.0.0-1.1 on GA media","description":"These are all security issues fixed in the liblxc-devel-7.0.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-05-04T00:00:00Z","modified":"2026-05-05T07:46:47.526588Z","updated_at":"2026-11-02T16:58:38.415593Z"},{"id":"openSUSE-SU-2026:11651-1","title":"incus-7.4-1.1 on GA media","description":"These are all security issues fixed in the incus-7.4-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-08-31T00:00:00Z","modified":"2026-09-01T09:30:03.89107478Z","updated_at":"2026-11-02T16:58:39.516824Z"},{"id":"USN-8826-1","title":"lxc vulnerabilities","description":"Maher Azzouzi discovered that LXC did not correctly handle logging\ncertain failure messages. An attacker could possibly use this issue\nto leak sensitive information. This issue only affected\nUbuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS,\nUbuntu 22.04 LTS and Ubuntu 24.04 LTS. (CVE-2022-47952)\n\nSam Sanoop discovered that LXC did not correctly handle certain forms\nof user authorization. An attacker could possibly use this issue to\ncause a denial of service. (CVE-2026-39402)","status":"published","published":"2026-09-28T05:47:13Z","modified":"2026-09-28T11:42:42.453679404Z","updated_at":"2026-11-02T16:58:26.907654Z"}]}}
