{
   "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: marvell: prestera: fix incorrect structure access\n\nIn line:\n\tupper = info->upper_dev;\nWe access upper_dev field, which is related only for particular events\n(e.g. event == NETDEV_CHANGEUPPER). So, this line cause invalid memory\naccess for another events,\nwhen ptr is not netdev_notifier_changeupper_info.\n\nThe KASAN logs are as follows:\n\n[   30.123165] BUG: KASAN: stack-out-of-bounds in prestera_netdev_port_event.constprop.0+0x68/0x538 [prestera]\n[   30.133336] Read of size 8 at addr ffff80000cf772b0 by task udevd/778\n[   30.139866]\n[   30.141398] CPU: 0 PID: 778 Comm: udevd Not tainted 5.16.0-rc3 #6\n[   30.147588] Hardware name: DNI AmazonGo1 A7040 board (DT)\n[   30.153056] Call trace:\n[   30.155547]  dump_backtrace+0x0/0x2c0\n[   30.159320]  show_stack+0x18/0x30\n[   30.162729]  dump_stack_lvl+0x68/0x84\n[   30.166491]  print_address_description.constprop.0+0x74/0x2b8\n[   30.172346]  kasan_report+0x1e8/0x250\n[   30.176102]  __asan_load8+0x98/0xe0\n[   30.179682]  prestera_netdev_port_event.constprop.0+0x68/0x538 [prestera]\n[   30.186847]  prestera_netdev_event_handler+0x1b4/0x1c0 [prestera]\n[   30.193313]  raw_notifier_call_chain+0x74/0xa0\n[   30.197860]  call_netdevice_notifiers_info+0x68/0xc0\n[   30.202924]  register_netdevice+0x3cc/0x760\n[   30.207190]  register_netdev+0x24/0x50\n[   30.211015]  prestera_device_register+0x8a0/0xba0 [prestera]"
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "drivers/net/ethernet/marvell/prestera/prestera_main.c"
               ],
               "versions": [
                  {
                     "version": "3d5048cc54bd",
                     "lessThan": "5c553a0cd126",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "3d5048cc54bd",
                     "lessThan": "2efc2256febf",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "drivers/net/ethernet/marvell/prestera/prestera_main.c"
               ],
               "versions": [
                  {
                     "version": "5.14",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "5.14",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.15.12",
                     "lessThanOrEqual": "5.15.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.16",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/5c553a0cd1263e4da5f220d80fa713fc3959c1d0"
            },
            {
               "url": "https://git.kernel.org/stable/c/2efc2256febf214e7b2bdaa21fe6c3c3146acdcb"
            }
         ],
         "title": "net: marvell: prestera: fix incorrect structure access",
         "x_generator": {
            "engine": "bippy-a5840b7849dd"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2021-47102",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
