Skip to content
Heist/ feed
Back to feed
HighFix available

net: fix out-of-bounds access in ops_init

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
4.19.314, 5.10.217, 5.15.159, 5.4.276, 6.1.91, 6.6.31, 6.8.10
CVEs
CVE-2024-36883
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 08:01 UTC · Revision 1

Source evidence

net: fix out-of-bounds access in ops_init

core-osv · Original source

Published 30 May 2024, 15:28 UTC

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.

osv:CVE-2024-36883

Kernel

Fixed versions: 4.19.314, 5.4.276, 5.10.217, 5.15.159, 6.1.91, 6.6.31, 6.8.10

Complete source record
{
  "id": "82e00c1a49927303c5b9547845b18918f2c9f74ae30191fb4442a80c715c1e80",
  "url": "https://osv.dev/vulnerability/CVE-2024-36883",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "net: fix out-of-bounds access in ops_init",
    "summary": "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.",
    "evidence": "osv:CVE-2024-36883",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "4.19.314",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.4.276",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.10.217",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.159",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.91",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.31",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.8.10",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-36883",
      "aliases": [
        "CVE-2024-36883"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "073862ba5d249c20bd5c49fc6d904ff0e1f6a672"
                },
                {
                  "fixed": "3cdc34d76c4f777579e28ad373979d36c030cfd3"
                },
                {
                  "fixed": "7b0e64583eab8c1d896b47e5dd0bf2e7d86ec41f"
                },
                {
                  "fixed": "0c3248bc708a7797be573214065cf908ff1f54c7"
                },
                {
                  "fixed": "9518b79bfd2fbf99fa9b7e8e36bcb1825e7ba030"
                },
                {
                  "fixed": "2d60ff5874aefd006717ca5e22ac1e25eac29c42"
                },
                {
                  "fixed": "b6dbfd5bcc267a95a0bf1bf96af46243f96ec6cd"
                },
                {
                  "fixed": "f4f94587e1bf87cb40ec33955a9d90148dd026ab"
                },
                {
                  "fixed": "a26ff37e624d12e28077e5b24d2b264f62764ad6"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3.0.19"
                },
                {
                  "fixed": "3.1"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3.2.3"
                },
                {
                  "fixed": "3.3"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "561331eae0a03d0c4cf60f3cf485aa3e8aa5ab48"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "a2c82f7bee1ffa9eafa1fb0bd886a7eea8c9e497"
                }
              ]
            }
          ],
          "versions": [
            "v3.0.101",
            "v3.0.100",
            "v3.0.99",
            "v3.0.98",
            "v3.0.97",
            "v3.0.96",
            "v3.0.95",
            "v3.0.94",
            "v3.0.93",
            "v3.0.92",
            "v3.0.91",
            "v3.0.90",
            "v3.0.89",
            "v3.0.88",
            "v3.0.87",
            "v3.0.86",
            "v3.0.85",
            "v3.0.84",
            "v3.0.83",
            "v3.0.82",
            "v3.0.81",
            "v3.0.80",
            "v3.0.79",
            "v3.0.78",
            "v3.0.77",
            "v3.0.76",
            "v3.0.75",
            "v3.0.74",
            "v3.0.73",
            "v3.0.72",
            "v3.0.71",
            "v3.0.70",
            "v3.0.69",
            "v3.0.68",
            "v3.0.67",
            "v3.0.66",
            "v3.0.65",
            "v3.0.64",
            "v3.0.63",
            "v3.0.62",
            "v3.0.61",
            "v3.0.60",
            "v3.0.59",
            "v3.0.58",
            "v3.0.57",
            "v3.0.56",
            "v3.0.55",
            "v3.0.54",
            "v3.0.53",
            "v3.0.52",
            "v3.0.51",
            "v3.0.50",
            "v3.0.49",
            "v3.0.48",
            "v3.0.47",
            "v3.0.46",
            "v3.0.45",
            "v3.0.44",
            "v3.0.43",
            "v3.0.42",
            "v3.0.41",
            "v3.0.40",
            "v3.0.39",
            "v3.0.38",
            "v3.0.37",
            "v3.0.36",
            "v3.0.35",
            "v3.0.34",
            "v3.0.33",
            "v3.0.32",
            "v3.0.31",
            "v3.0.30",
            "v3.0.29",
            "v3.0.28",
            "v3.0.27",
            "v3.0.26",
            "v3.0.25",
            "v3.0.24",
            "v3.0.23",
            "v3.0.22",
            "v3.0.21",
            "v3.0.20",
            "v3.0.19",
            "v3.2.102",
            "v3.2.101",
            "v3.2.100",
            "v3.2.99",
            "v3.2.98",
            "v3.2.97",
            "v3.2.96",
            "v3.2.95",
            "v3.2.94",
            "v3.2.93",
            "v3.2.92",
            "v3.2.91",
            "v3.2.90",
            "v3.2.89",
            "v3.2.88",
            "v3.2.87",
            "v3.2.86",
            "v3.2.85",
            "v3.2.84",
            "v3.2.83",
            "v3.2.82",
            "v3.2.81",
            "v3.2.80",
            "v3.2.79",
            "v3.2.78",
            "v3.2.77",
            "v3.2.76",
            "v3.2.75",
            "v3.2.74",
            "v3.2.73",
            "v3.2.72",
            "v3.2.71",
            "v3.2.70",
            "v3.2.69",
            "v3.2.68",
            "v3.2.67",
            "v3.2.66",
            "v3.2.65",
            "v3.2.64",
            "v3.2.63",
            "v3.2.62",
            "v3.2.61",
            "v3.2.60",
            "v3.2.59",
            "v3.2.58",
            "v3.2.57",
            "v3.2.56",
            "v3.2.55",
            "v3.2.54",
            "v3.2.53",
            "v3.2.52",
            "v3.2.51",
            "v3.2.50",
            "v3.2.49",
            "v3.2.48",
            "v3.2.47",
            "v3.2.46",
            "v3.2.45",
            "v3.2.44",
            "v3.2.43",
            "v3.2.42",
            "v3.2.41",
            "v3.2.40",
            "v3.2.39",
            "v3.2.38",
            "v3.2.37",
            "v3.2.36",
            "v3.2.35",
            "v3.2.34",
            "v3.2.33",
            "v3.2.32",
            "v3.2.31",
            "v3.2.30",
            "v3.2.29",
            "v3.2.28",
            "v3.2.27",
            "v3.2.26",
            "v3.2.25",
            "v3.2.24",
            "v3.2.23",
            "v3.2.22",
            "v3.2.21",
            "v3.2.20",
            "v3.2.19",
            "v3.2.18",
            "v3.2.17",
            "v3.2.16",
            "v3.2.15",
            "v3.2.14",
            "v3.2.13",
            "v3.2.12",
            "v3.2.11",
            "v3.2.10",
            "v3.2.9",
            "v3.2.8",
            "v3.2.7",
            "v3.2.6",
            "v3.2.5",
            "v3.2.4",
            "v3.2.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36883.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "3.3.0"
                },
                {
                  "fixed": "4.19.314"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "4.20.0"
                },
                {
                  "fixed": "5.4.276"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.5.0"
                },
                {
                  "fixed": "5.10.217"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.159"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.91"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.31"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.8.10"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36883.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.540856723Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/0c3248bc708a7797be573214065cf908ff1f54c7",
        "https://git.kernel.org/stable/c/2d60ff5874aefd006717ca5e22ac1e25eac29c42",
        "https://git.kernel.org/stable/c/3cdc34d76c4f777579e28ad373979d36c030cfd3",
        "https://git.kernel.org/stable/c/7b0e64583eab8c1d896b47e5dd0bf2e7d86ec41f",
        "https://git.kernel.org/stable/c/9518b79bfd2fbf99fa9b7e8e36bcb1825e7ba030",
        "https://git.kernel.org/stable/c/a26ff37e624d12e28077e5b24d2b264f62764ad6",
        "https://git.kernel.org/stable/c/b6dbfd5bcc267a95a0bf1bf96af46243f96ec6cd",
        "https://git.kernel.org/stable/c/f4f94587e1bf87cb40ec33955a9d90148dd026ab",
        "https://lists.debian.org/debian-lts-announce/2024/06/msg00019.html",
        "https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36883.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-36883",
        "https://security.netapp.com/advisory/ntap-20241018-0001/",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36883.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-36883",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518696,
  "published_at": "2024-05-30T15:28:53.302+00:00"
}