CVE-2021-47010

HighCVSS 7.8/10Last modified Jun 17, 2026

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 7.8/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= 6670e152447732ba90626f36dfc015a13fbf150e, < 992de06308d9a9584d59b96d294ac676f924e437; >= 6670e152447732ba90626f36dfc015a13fbf150e, < 9884f745108f7d25b189bbcd6754e284fb29ab68; >= 6670e152447732ba90626f36dfc015a13fbf150e, < 6c1ea8bee75df8fe2184a50fcd0f70bf82986f42; >= 6670e152447732ba90626f36dfc015a13fbf150e, < efe1532a6e1a8e3c343d04fff510f0ed80328f9c; >= 6670e152447732ba90626f36dfc015a13fbf150e, < e7d7bedd507bb732e600403b7a96f9fe48d0ca31; >= 6670e152447732ba90626f36dfc015a13fbf150e, < 8d432592f30fcc34ef5a10aac4887b4897884493
LinuxLinux4.15
linuxlinux_kernel>= 6670e1524477, < 992de06308d9; >= 6670e1524477, < 9884f745108f; >= 6670e1524477, < 6c1ea8bee75d; >= 6670e1524477, < efe1532a6e1a; >= 6670e1524477, < e7d7bedd507b; >= 6670e1524477, < 8d432592f30f; 4.15

References

Timeline

Published
Feb 28, 2024
Last modified
Jun 17, 2026
NVD status
Analyzed

Related CVEs from 2021

CVE-2021-470115.5In the Linux kernel, the following vulnerability has been resolved: mm: memcontrol: slab: fix obtain a reference to a freeing memcg Patch CVE-2021-470127.8In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Fix a use after free in siw_alloc_mr Our code analyzer reporCVE-2021-470137.8In the Linux kernel, the following vulnerability has been resolved: net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send In emaCVE-2021-470147.8In the Linux kernel, the following vulnerability has been resolved: net/sched: act_ct: fix wild memory access when clearing fragments whilCVE-2021-470155.5In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix RX consumer index logic in the error path. In bnxt_rx_pktCVE-2021-470165.5In the Linux kernel, the following vulnerability has been resolved: m68k: mvme147,mvme16x: Don't wipe PCC timer config bits Don't clear thCVE-2021-470177.8In the Linux kernel, the following vulnerability has been resolved: ath10k: Fix a use after free in ath10k_htc_send_bundle In ath10k_htc_sCVE-2021-470185.5In the Linux kernel, the following vulnerability has been resolved: powerpc/64: Fix the definition of the fixmap area At the time being, tCVE-2021-470195.5In the Linux kernel, the following vulnerability has been resolved: mt76: mt7921: fix possible invalid register access Disable the interruCVE-2021-470205.5In the Linux kernel, the following vulnerability has been resolved: soundwire: stream: fix memory leak in stream config error path When stCVE-2021-470215.5In the Linux kernel, the following vulnerability has been resolved: mt76: mt7915: fix memleak when mt7915_unregister_device() mt7915_tx_toCVE-2021-470225.5In the Linux kernel, the following vulnerability has been resolved: mt76: mt7615: fix memleak when mt7615_unregister_device() mt7615_tx_to
CVE-2021-47010: High severity, CVSS 7.8 | Vulnix