ppp: require CAP_NET_ADMIN in target netns for unattached ioctls
- 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.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, 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: ppp: require CAP_NET_ADMIN in target netns for unattached ioctls /dev/ppp open is currently authorized against file->f_cred->user_ns, while unattached administrative ioctls operate on current->nsproxy->net_ns. As a result, a local unprivileged user can create a new user namespace with CLONE_NEWUSER, gain CAP_NET_ADMIN only in that new user namespace, and still issue PPPIOCNEWUNIT, PPPIOCATTACH, or PPPIOCATTCHAN against an inherited network namespace. Require CAP_NET_ADMIN in the user namespace that owns the target network namespace before handling unattached PPP administrative ioctls. This preserves normal pppd operation in the network namespace it is actually privileged in, while rejecting the userns-only inherited-netns case.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in c9edd90c57ae23692fff6b049fdfa4572a9fd532; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 5080e188c914110034bbc569d5cfa2f06204681d; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 67e901e28d177ac9a9bed76d69ce3471e704a89e; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 954745d0223e7caec917c0b2d1a889ff56fa6e54; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 3b2c2157dc2afc5c17cd7238afefca92f1ef330e; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 5013be175c7ffd8b39efbc3c9c4db5b10b85fea8; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 1a8a51ce85075a56a743b6f142606dd2696a391c; From 273ec51dd7ceaa76e038875d85061ec856d8905e · fixed in 2bb6379416fd19f44c3423a00bfd8626259f6067
- Linux Linux
2.6.30
- KernelLinux
From 2.6.30 · fixed in 5.10.258; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.141; From 6.7.0 · fixed in 6.12.91; From 6.13.0 · fixed in 6.18.33; From 6.19.0 · fixed in 7.0.10
References 8
git.kernel.org
- stable/c/c9edd90c57ae23692fff6b049fdfa4572a9fd532
- stable/c/5080e188c914110034bbc569d5cfa2f06204681d
- stable/c/67e901e28d177ac9a9bed76d69ce3471e704a89e
- stable/c/954745d0223e7caec917c0b2d1a889ff56fa6e54
- stable/c/3b2c2157dc2afc5c17cd7238afefca92f1ef330e
- stable/c/5013be175c7ffd8b39efbc3c9c4db5b10b85fea8
- stable/c/1a8a51ce85075a56a743b6f142606dd2696a391c
- stable/c/2bb6379416fd19f44c3423a00bfd8626259f6067