Skip to content
Heist/ feed
Back to feed
MediumFix available

powercap: arm_scmi: Remove recursion while parsing zones

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: powercap: arm_scmi: Remove recursion while parsing zones Powercap zones can be defined as arranged in a hierarchy of trees and when registering a zone with powercap_register_zone(), the kernel powercap subsystem expects this to happen starting from the root zones down to the leaves; on the other side, de-registration by powercap_deregister_zone() must begin from the leaf zones. Available SCMI powercap zones are retrieved dynamically from the platform at probe time and, while any defined hierarchy between the zones is described properly in the zones descriptor, the platform returns the availables zones with no particular well-defined order: as a consequence, the trees possibly composing the hierarchy of zones have to be somehow walked properly to register the retrieved zones from the root. Currently the ARM SCMI Powercap driver walks the zones using a recursive algorithm; this approach, even though correct and tested can lead to kernel stack overflow when processing a returned hierarchy of zones composed by particularly high trees. Avoid possible kernel stack overflow by substituting the recursive approach with an iterative one supported by a dynamically allocated stack-like data structure.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.4.16, 6.5.3
CVEs
CVE-2023-53428
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 17:02 UTC · Revision 1

Source evidence

powercap: arm_scmi: Remove recursion while parsing zones

core-osv · Original source

Published 18 Sept 2025, 16:04 UTC

In the Linux kernel, the following vulnerability has been resolved: powercap: arm_scmi: Remove recursion while parsing zones Powercap zones can be defined as arranged in a hierarchy of trees and when registering a zone with powercap_register_zone(), the kernel powercap subsystem expects this to happen starting from the root zones down to the leaves; on the other side, de-registration by powercap_deregister_zone() must begin from the leaf zones. Available SCMI powercap zones are retrieved dynamically from the platform at probe time and, while any defined hierarchy between the zones is described properly in the zones descriptor, the platform returns the availables zones with no particular well-defined order: as a consequence, the trees possibly composing the hierarchy of zones have to be somehow walked properly to register the retrieved zones from the root. Currently the ARM SCMI Powercap driver walks the zones using a recursive algorithm; this approach, even though correct and tested can lead to kernel stack overflow when processing a returned hierarchy of zones composed by particularly high trees. Avoid possible kernel stack overflow by substituting the recursive approach with an iterative one supported by a dynamically allocated stack-like data structure.

osv:CVE-2023-53428

Kernel

Fixed versions: 6.4.16, 6.5.3

Complete source record
{
  "id": "71cd79c9a15a9ba90683d3756f0df8e664bb99a73523c85d3b4c1a9469173128",
  "url": "https://osv.dev/vulnerability/CVE-2023-53428",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "powercap: arm_scmi: Remove recursion while parsing zones",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: powercap: arm_scmi: Remove recursion while parsing zones Powercap zones can be defined as arranged in a hierarchy of trees and when registering a zone with powercap_register_zone(), the kernel powercap subsystem expects this to happen starting from the root zones down to the leaves; on the other side, de-registration by powercap_deregister_zone() must begin from the leaf zones. Available SCMI powercap zones are retrieved dynamically from the platform at probe time and, while any defined hierarchy between the zones is described properly in the zones descriptor, the platform returns the availables zones with no particular well-defined order: as a consequence, the trees possibly composing the hierarchy of zones have to be somehow walked properly to register the retrieved zones from the root. Currently the ARM SCMI Powercap driver walks the zones using a recursive algorithm; this approach, even though correct and tested can lead to kernel stack overflow when processing a returned hierarchy of zones composed by particularly high trees. Avoid possible kernel stack overflow by substituting the recursive approach with an iterative one supported by a dynamically allocated stack-like data structure.",
    "evidence": "osv:CVE-2023-53428",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.4.16",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.5.3",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "CVE-2023-53428",
      "aliases": [
        "CVE-2023-53428"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "b55eef5226b71edf5422de246bc189da1fdc9000"
                },
                {
                  "fixed": "b427c23cebc5c926516f20304bf1acc05a33d147"
                },
                {
                  "fixed": "8022b64fb7daa6135d9f7b0e2f7b5b8e9e5179c9"
                },
                {
                  "fixed": "3e767d6850f867cc33ac16ca097350a1d2417982"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53428.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.4.16"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.5.0"
                },
                {
                  "fixed": "6.5.3"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53428.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:21.625405601Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/3e767d6850f867cc33ac16ca097350a1d2417982",
        "https://git.kernel.org/stable/c/8022b64fb7daa6135d9f7b0e2f7b5b8e9e5179c9",
        "https://git.kernel.org/stable/c/b427c23cebc5c926516f20304bf1acc05a33d147",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53428.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2023-53428",
        "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/2023/53xxx/CVE-2023-53428.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2023-53428",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 487448,
  "published_at": "2025-09-18T16:04:09.58+00:00"
}