cve-2024-27391
Vulnerability from cvelistv5
Published
2024-05-01 13:05
Modified
2024-08-02 00:34
Severity
Summary
wifi: wilc1000: do not realloc workqueue everytime an interface is added
Impacted products
VendorProduct
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-27391",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-05-01T15:19:57.671573Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-07-05T17:22:45.010Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:34:52.229Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/515cc676dfbce40d93c92b1ff3c1070e917f4e52"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/4041c60a9d543b3ad50225385b072ba68e96166e"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/90ae293d1d255f622318fce6eeea2e18f9fde5c1"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/9ab0c303ccabfd6bdce14432792d41090070008c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/328efda22af81130c2ad981c110518cb29ff2f1d"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/microchip/wilc1000/cfg80211.c",
            "drivers/net/wireless/microchip/wilc1000/netdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "515cc676dfbc",
              "status": "affected",
              "version": "09ed8bfc5215",
              "versionType": "git"
            },
            {
              "lessThan": "4041c60a9d54",
              "status": "affected",
              "version": "09ed8bfc5215",
              "versionType": "git"
            },
            {
              "lessThan": "90ae293d1d25",
              "status": "affected",
              "version": "09ed8bfc5215",
              "versionType": "git"
            },
            {
              "lessThan": "9ab0c303ccab",
              "status": "affected",
              "version": "09ed8bfc5215",
              "versionType": "git"
            },
            {
              "lessThan": "328efda22af8",
              "status": "affected",
              "version": "09ed8bfc5215",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wireless/microchip/wilc1000/cfg80211.c",
            "drivers/net/wireless/microchip/wilc1000/netdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.17"
            },
            {
              "lessThan": "5.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.83",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.23",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.11",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.8.*",
              "status": "unaffected",
              "version": "6.8.2",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.9",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: wilc1000: do not realloc workqueue everytime an interface is added\n\nCommit 09ed8bfc5215 (\"wilc1000: Rename workqueue from \"WILC_wq\" to\n\"NETDEV-wq\"\") moved workqueue creation in wilc_netdev_ifc_init in order to\nset the interface name in the workqueue name. However, while the driver\nneeds only one workqueue, the wilc_netdev_ifc_init is called each time we\nadd an interface over a phy, which in turns overwrite the workqueue with a\nnew one. This can be observed with the following commands:\n\nfor i in $(seq 0 10)\ndo\n  iw phy phy0 interface add wlan1 type managed\n  iw dev wlan1 del\ndone\nps -eo pid,comm|grep wlan\n\n 39 kworker/R-wlan0\n 98 kworker/R-wlan1\n102 kworker/R-wlan1\n105 kworker/R-wlan1\n108 kworker/R-wlan1\n111 kworker/R-wlan1\n114 kworker/R-wlan1\n117 kworker/R-wlan1\n120 kworker/R-wlan1\n123 kworker/R-wlan1\n126 kworker/R-wlan1\n129 kworker/R-wlan1\n\nFix this leakage by putting back hif_workqueue allocation in\nwilc_cfg80211_init. Regarding the workqueue name, it is indeed relevant to\nset it lowercase, however it is not  attached to a specific netdev, so\nenforcing netdev name in the name is not so relevant. Still, enrich the\nname with the wiphy name to make it clear which phy is using the workqueue."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-05-29T05:28:17.396Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/515cc676dfbce40d93c92b1ff3c1070e917f4e52"
        },
        {
          "url": "https://git.kernel.org/stable/c/4041c60a9d543b3ad50225385b072ba68e96166e"
        },
        {
          "url": "https://git.kernel.org/stable/c/90ae293d1d255f622318fce6eeea2e18f9fde5c1"
        },
        {
          "url": "https://git.kernel.org/stable/c/9ab0c303ccabfd6bdce14432792d41090070008c"
        },
        {
          "url": "https://git.kernel.org/stable/c/328efda22af81130c2ad981c110518cb29ff2f1d"
        }
      ],
      "title": "wifi: wilc1000: do not realloc workqueue everytime an interface is added",
      "x_generator": {
        "engine": "bippy-a5840b7849dd"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-27391",
    "datePublished": "2024-05-01T13:05:16.396Z",
    "dateReserved": "2024-02-25T13:47:42.677Z",
    "dateUpdated": "2024-08-02T00:34:52.229Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-27391\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-01T13:15:51.750\",\"lastModified\":\"2024-05-01T19:50:25.633\",\"vulnStatus\":\"Awaiting Analysis\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nwifi: wilc1000: do not realloc workqueue everytime an interface is added\\n\\nCommit 09ed8bfc5215 (\\\"wilc1000: Rename workqueue from \\\"WILC_wq\\\" to\\n\\\"NETDEV-wq\\\"\\\") moved workqueue creation in wilc_netdev_ifc_init in order to\\nset the interface name in the workqueue name. However, while the driver\\nneeds only one workqueue, the wilc_netdev_ifc_init is called each time we\\nadd an interface over a phy, which in turns overwrite the workqueue with a\\nnew one. This can be observed with the following commands:\\n\\nfor i in $(seq 0 10)\\ndo\\n  iw phy phy0 interface add wlan1 type managed\\n  iw dev wlan1 del\\ndone\\nps -eo pid,comm|grep wlan\\n\\n 39 kworker/R-wlan0\\n 98 kworker/R-wlan1\\n102 kworker/R-wlan1\\n105 kworker/R-wlan1\\n108 kworker/R-wlan1\\n111 kworker/R-wlan1\\n114 kworker/R-wlan1\\n117 kworker/R-wlan1\\n120 kworker/R-wlan1\\n123 kworker/R-wlan1\\n126 kworker/R-wlan1\\n129 kworker/R-wlan1\\n\\nFix this leakage by putting back hif_workqueue allocation in\\nwilc_cfg80211_init. Regarding the workqueue name, it is indeed relevant to\\nset it lowercase, however it is not  attached to a specific netdev, so\\nenforcing netdev name in the name is not so relevant. Still, enrich the\\nname with the wiphy name to make it clear which phy is using the workqueue.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: wilc1000: no reasignar la cola de trabajo cada vez que se agrega una interfaz. Commit 09ed8bfc5215 (\\\"wilc1000: cambiar el nombre de la cola de trabajo de \\\"WILC_wq\\\" a \\\"NETDEV-wq\\\"\\\") movi\u00f3 la creaci\u00f3n de la cola de trabajo en wilc_netdev_ifc_init para configurar el nombre de la interfaz en el nombre de la cola de trabajo. Sin embargo, aunque el controlador solo necesita una cola de trabajo, se llama a wilc_netdev_ifc_init cada vez que agregamos una interfaz a trav\u00e9s de un phy, lo que a su vez sobrescribe la cola de trabajo con una nueva. Esto se puede observar con los siguientes comandos: for i in $(seq 0 10) do iw phy phy0 interfaz add wlan1 tipo administrado iw dev wlan1 del done ps -eo pid,comm|grep wlan 39 kworker/R-wlan0 98 kworker/ R-wlan1 102 ktrabajador/R-wlan1 105 ktrabajador/R-wlan1 108 ktrabajador/R-wlan1 111 ktrabajador/R-wlan1 114 ktrabajador/R-wlan1 117 ktrabajador/R-wlan1 120 ktrabajador/R-wlan1 123 ktrabajador/R- wlan1 126 kworker/R-wlan1 129 kworker/R-wlan1 Solucione esta fuga volviendo a colocar la asignaci\u00f3n hif_workqueue en wilc_cfg80211_init. Con respecto al nombre de la cola de trabajo, es relevante establecerlo en min\u00fasculas; sin embargo, no est\u00e1 adjunto a un netdev espec\u00edfico, por lo que hacer cumplir el nombre de netdev en el nombre no es tan relevante. A\u00fan as\u00ed, enriquezca el nombre con el nombre de wiphy para dejar claro qu\u00e9 phy est\u00e1 usando la cola de trabajo.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/328efda22af81130c2ad981c110518cb29ff2f1d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4041c60a9d543b3ad50225385b072ba68e96166e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/515cc676dfbce40d93c92b1ff3c1070e917f4e52\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/90ae293d1d255f622318fce6eeea2e18f9fde5c1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9ab0c303ccabfd6bdce14432792d41090070008c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...