xfrm: xfrm_interface: require CAP_NET_ADMIN in the device netns for changelink
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: xfrm: xfrm_interface: require CAP_NET_ADMIN in the device netns for changelink xfrmi_changelink() operates on at most two netns, dev_net(dev) and the interface link netns xi->net. They differ once the device is created in or moved to a netns other than the one the request runs in. The rtnl changelink path checks CAP_NET_ADMIN only against dev_net(dev), so a caller privileged there but not in xi->net can rewrite an interface that lives in xi->net. Gate xfrmi_changelink() on rtnl_dev_link_net_capable() at its top, before any attribute is parsed.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From f203b76d78092faf248db3f851840fbecf80b40e · fixed in 04c1aa57d08471b1953bf27c84ac9b3d78d71831; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in bdfd1c21d90e628a58a9de79e024cdfcbedfa15c; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in 80ec68bba11f7f387c0e4099c2d7b2c84943eb99; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in e9c90756f10da334fb31552e52c61f1dba69f491; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in 37b61946d278c7deb0d40ba8f2b6fc0478d61dab; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in 8ca2a19a987a7d1cb4c916ed9723a1c6993b4276; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in 3ba2b2ef7d6a63b190f15cfc2b4ba0fba59928ea; From f203b76d78092faf248db3f851840fbecf80b40e · fixed in 095515d89b19b6cc19dfcdc846f97403ed1ebce3
- Linux Linux
4.19
- KernelLinux
From 4.19.0 · fixed in 5.10.261; From 5.11.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5
References 8
git.kernel.org
- stable/c/04c1aa57d08471b1953bf27c84ac9b3d78d71831
- stable/c/bdfd1c21d90e628a58a9de79e024cdfcbedfa15c
- stable/c/80ec68bba11f7f387c0e4099c2d7b2c84943eb99
- stable/c/e9c90756f10da334fb31552e52c61f1dba69f491
- stable/c/37b61946d278c7deb0d40ba8f2b6fc0478d61dab
- stable/c/8ca2a19a987a7d1cb4c916ed9723a1c6993b4276
- stable/c/3ba2b2ef7d6a63b190f15cfc2b4ba0fba59928ea
- stable/c/095515d89b19b6cc19dfcdc846f97403ed1ebce3