CVE-2024-36883: net: fix out-of-bounds access in ops_init
In the Linux kernel, the following vulnerability has been resolved:
net: fix out-of-bounds access in ops_init
net_alloc_generic is called by net_alloc, which is called without any
locking. It reads max_gen_ptrs, which is changed under pernet_ops_rwsem. It
is read twice, first to allocate an array, then to set s.len, which is
later used to limit the bounds of the array access.
It is possible that the array is allocated and another thread is
registering a new pernet ops, increments max_gen_ptrs, which is then used
to set s.len with a larger than allocated length for the variable array.
Fix it by reading max_gen_ptrs only once in net_alloc_generic. If
max_gen_ptrs is later incremented, it will be caught in net_assign_generic.
Security readout for executives and security teams
Plain-English summary
A race condition in Linux network-namespace setup can make the kernel treat an allocated array as larger than it really is, causing out-of-bounds memory access. Successful exploitation could severely affect confidentiality, integrity, or availability, but the supplied evidence does not establish practical exploitation.
Executive priority
Treat as a high-priority kernel maintenance issue, especially on shared Linux hosts or systems granting low-privileged local access. It is not evidenced as an internet-remote or actively exploited emergency, so prioritize verified exposure and orderly patching over crisis response.
Technical view
net_alloc_generic read max_gen_ptrs once for allocation and again for s.len. Concurrent per-network operations registration could increase the value between reads, leaving s.len larger than the allocation and permitting out-of-bounds access in ops_init. The fix snapshots max_gen_ptrs once; later increases are handled by net_assign_generic.
Likely exposure
Exposure is limited to Linux kernels containing the vulnerable implementation. The bundle lists affected releases across multiple branches from 3.3 through 6.9, but its flattened version data is ambiguous. Confirm exposure using the running kernel, distribution advisories, and the referenced stable fixes.
Exploitation context
CVSS 3.1 is 7.8 with local access, low privileges, low complexity, and no user interaction. The supplied record is not marked KEV and provides no evidence of active exploitation or a public exploit. KEV absence alone does not prove exploitation has never occurred.
Researcher notes
The vulnerability is a time-of-check/time-of-use race affecting array sizing and bounds metadata. Trigger reliability, reachable call paths for an attacker, and demonstrated security impact are not documented in the supplied sources. The affected-version list contains duplicate commit identifiers and ambiguous branch entries, so branch-specific vendor confirmation is necessary.
Mitigation direction
Upgrade to a vendor-supported kernel containing the relevant stable fix or backport.
Consult the Linux or distribution advisory to identify the corrected package for each kernel branch.
Prioritize multi-user, container-hosting, and other systems where untrusted users receive local access.
Reboot into the corrected kernel after installation; an installed but inactive kernel does not remove exposure.
Validation and detection
Inventory running kernel versions, not only installed kernel packages.
Map each running kernel to its vendor advisory and applicable stable fix commit.
Verify net_alloc_generic uses one max_gen_ptrs snapshot for allocation and s.len.
Confirm systems restarted successfully into the corrected kernel.
Review kernel telemetry for unexplained memory faults or crashes, without treating absence as proof of safety.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-36883 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.