In the Linux kernel, the following vulnerability has been resolved:
net: Only allow init netns to set default tcp cong to a restricted algo
tcpsetdefaultcongestioncontrol() is netns-safe in that it writes to &net->ipv4.tcpcongestioncontrol, but it also sets ca->flags |= TCPCONGNONRESTRICTED which is not namespaced. This has the unintended side-effect of changing the global net.ipv4.tcpallowedcongestioncontrol sysctl, despite the fact that it is read-only: 97684f0970f6 ("net: Make tcpallowedcongestion_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 tcpallowedcongestion_control were namespace-ified in the future.
This bug was uncovered with https://github.com/JonathonReinhart/linux-netns-sysctl-verify
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47010.json"
[
{
"events": [
{
"introduced": "4.15"
},
{
"fixed": "4.19.191"
}
]
},
{
"events": [
{
"introduced": "4.20"
},
{
"fixed": "5.4.119"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.37"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.11.21"
}
]
},
{
"events": [
{
"introduced": "5.12"
},
{
"fixed": "5.12.4"
}
]
}
]