Description
In the Linux kernel, the following vulnerability has been resolved:
net: Only allow init netns to set default tcp cong to a restricted algo
tcp_set_default_congestion_control() is netns-safe in that it writes to &net->ipv4.tcp_congestion_control, but it also sets ca->flags |= TCP_CONG_NON_RESTRICTED which is not namespaced. This has the unintended side-effect of changing the global net.ipv4.tcp_allowed_congestion_control sysctl, despite the fact that it is read-only: 97684f0970f6 ("net: Make tcp_allowed_congestion_control readonly in non-init netns")
Resolve this netns "leak" by only allowing the init netns to set the default algorithm to one that is restricted. This restriction could be removed if tcp_allowed_congestion_control were namespace-ified in the future.
This bug was uncovered with https://github.com/JonathonReinhart/linux-netns-sysctl-verify
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 6670e152447732ba90626f36dfc015a13fbf150e, < 992de06308d9a9584d59b96d294ac676f924e437; >= 6670e152447732ba90626f36dfc015a13fbf150e, < 9884f745108f7d25b189bbcd6754e284fb29ab68; >= 6670e152447732ba90626f36dfc015a13fbf150e, < 6c1ea8bee75df8fe2184a50fcd0f70bf82986f42; >= 6670e152447732ba90626f36dfc015a13fbf150e, < efe1532a6e1a8e3c343d04fff510f0ed80328f9c; >= 6670e152447732ba90626f36dfc015a13fbf150e, < e7d7bedd507bb732e600403b7a96f9fe48d0ca31; >= 6670e152447732ba90626f36dfc015a13fbf150e, < 8d432592f30fcc34ef5a10aac4887b4897884493 |
| Linux | Linux | 4.15 |
| linux | linux_kernel | >= 6670e1524477, < 992de06308d9; >= 6670e1524477, < 9884f745108f; >= 6670e1524477, < 6c1ea8bee75d; >= 6670e1524477, < efe1532a6e1a; >= 6670e1524477, < e7d7bedd507b; >= 6670e1524477, < 8d432592f30f; 4.15 |
References
- https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42Patch
- https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493Patch
- https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68Patch
- https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437Patch
- https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31Patch
- https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9cPatch
- https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42Patch
- https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493Patch
- https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68Patch
- https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437Patch
- https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31Patch
- https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9cPatch
Timeline
- Published
- Feb 28, 2024
- Last modified
- Jun 17, 2026
- NVD status
- Analyzed