Bug 1220791 (CVE-2021-47010)

Summary: VUL-0: CVE-2021-47010: kernel: net: Only allow init netns to set default tcp cong to a restricted algo
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Kernel Bugs <kernel-bugs>
Status: RESOLVED FIXED QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: meissner, rfrohl
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/395459/
Whiteboard:
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-03-01 15:00:13 UTC
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

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-47010
https://www.cve.org/CVERecord?id=CVE-2021-47010
https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42
https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493
https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68
https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437
https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31
https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9c
https://bugzilla.redhat.com/show_bug.cgi?id=2266849
Comment 1 Robert Frohl 2024-03-01 15:10:36 UTC
I believe open for:

- cve/linux-5.3
Comment 2 Robert Frohl 2024-03-01 15:21:37 UTC
(In reply to Robert Frohl from comment #1)
> I believe open for:
> 
> - cve/linux-5.3

missed the backport, all kernels addressed. closing