{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: fix out-of-bounds access in ops_init\n\nnet_alloc_generic is called by net_alloc, which is called without any\nlocking. It reads max_gen_ptrs, which is changed under pernet_ops_rwsem. It\nis read twice, first to allocate an array, then to set s.len, which is\nlater used to limit the bounds of the array access.\n\nIt is possible that the array is allocated and another thread is\nregistering a new pernet ops, increments max_gen_ptrs, which is then used\nto set s.len with a larger than allocated length for the variable array.\n\nFix it by reading max_gen_ptrs only once in net_alloc_generic. If\nmax_gen_ptrs is later incremented, it will be caught in net_assign_generic."
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "net/core/net_namespace.c"
               ],
               "versions": [
                  {
                     "version": "073862ba5d24",
                     "lessThan": "3cdc34d76c4f",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "7b0e64583eab",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "0c3248bc708a",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "9518b79bfd2f",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "2d60ff5874ae",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "b6dbfd5bcc26",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "f4f94587e1bf",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "073862ba5d24",
                     "lessThan": "a26ff37e624d",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "net/core/net_namespace.c"
               ],
               "versions": [
                  {
                     "version": "3.3",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "3.3",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.19.314",
                     "lessThanOrEqual": "4.19.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.4.276",
                     "lessThanOrEqual": "5.4.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.10.217",
                     "lessThanOrEqual": "5.10.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.15.159",
                     "lessThanOrEqual": "5.15.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.1.91",
                     "lessThanOrEqual": "6.1.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.6.31",
                     "lessThanOrEqual": "6.6.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.8.10",
                     "lessThanOrEqual": "6.8.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.9",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/3cdc34d76c4f777579e28ad373979d36c030cfd3"
            },
            {
               "url": "https://git.kernel.org/stable/c/7b0e64583eab8c1d896b47e5dd0bf2e7d86ec41f"
            },
            {
               "url": "https://git.kernel.org/stable/c/0c3248bc708a7797be573214065cf908ff1f54c7"
            },
            {
               "url": "https://git.kernel.org/stable/c/9518b79bfd2fbf99fa9b7e8e36bcb1825e7ba030"
            },
            {
               "url": "https://git.kernel.org/stable/c/2d60ff5874aefd006717ca5e22ac1e25eac29c42"
            },
            {
               "url": "https://git.kernel.org/stable/c/b6dbfd5bcc267a95a0bf1bf96af46243f96ec6cd"
            },
            {
               "url": "https://git.kernel.org/stable/c/f4f94587e1bf87cb40ec33955a9d90148dd026ab"
            },
            {
               "url": "https://git.kernel.org/stable/c/a26ff37e624d12e28077e5b24d2b264f62764ad6"
            }
         ],
         "title": "net: fix out-of-bounds access in ops_init",
         "x_generator": {
            "engine": "bippy-a5840b7849dd"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2024-36883",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
