GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2025-38297 (GCVE-0-2025-38297)

Vulnerability from cvelistv5 – Published: 2025-07-10 07:42 – Updated: 2026-05-11 21:25
VLAI
Title
PM: EM: Fix potential division-by-zero error in em_compute_costs()
Summary
In the Linux kernel, the following vulnerability has been resolved: PM: EM: Fix potential division-by-zero error in em_compute_costs() When the device is of a non-CPU type, table[i].performance won't be initialized in the previous em_init_performance(), resulting in division by zero when calculating costs in em_compute_costs(). Since the 'cost' algorithm is only used for EAS energy efficiency calculations and is currently not utilized by other device drivers, we should add the _is_cpu_device(dev) check to prevent this division-by-zero issue.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 1b600da510735a0f92c8b4140a7e2cb037a6a6c3 , < 81d72f9241d884ec29524431f74f8009310cfa0c (git)
Affected: 1b600da510735a0f92c8b4140a7e2cb037a6a6c3 , < 14cbdd64f3870cf0a2d94b87919b9056448c59a0 (git)
Affected: 1b600da510735a0f92c8b4140a7e2cb037a6a6c3 , < 179c0c7044a378198adb36f2a12410ab68cc730a (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.9
Unaffected: 0 , < 6.9 (semver)
Unaffected: 6.12.34 , ≤ 6.12.* (semver)
Unaffected: 6.15.3 , ≤ 6.15.* (semver)
Unaffected: 6.16 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/power/energy_model.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "81d72f9241d884ec29524431f74f8009310cfa0c",
              "status": "affected",
              "version": "1b600da510735a0f92c8b4140a7e2cb037a6a6c3",
              "versionType": "git"
            },
            {
              "lessThan": "14cbdd64f3870cf0a2d94b87919b9056448c59a0",
              "status": "affected",
              "version": "1b600da510735a0f92c8b4140a7e2cb037a6a6c3",
              "versionType": "git"
            },
            {
              "lessThan": "179c0c7044a378198adb36f2a12410ab68cc730a",
              "status": "affected",
              "version": "1b600da510735a0f92c8b4140a7e2cb037a6a6c3",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/power/energy_model.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.15.*",
              "status": "unaffected",
              "version": "6.15.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.16",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.34",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15.3",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nPM: EM: Fix potential division-by-zero error in em_compute_costs()\n\nWhen the device is of a non-CPU type, table[i].performance won\u0027t be\ninitialized in the previous em_init_performance(), resulting in division\nby zero when calculating costs in em_compute_costs().\n\nSince the \u0027cost\u0027 algorithm is only used for EAS energy efficiency\ncalculations and is currently not utilized by other device drivers, we\nshould add the _is_cpu_device(dev) check to prevent this division-by-zero\nissue."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T21:25:15.247Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/81d72f9241d884ec29524431f74f8009310cfa0c"
        },
        {
          "url": "https://git.kernel.org/stable/c/14cbdd64f3870cf0a2d94b87919b9056448c59a0"
        },
        {
          "url": "https://git.kernel.org/stable/c/179c0c7044a378198adb36f2a12410ab68cc730a"
        }
      ],
      "title": "PM: EM: Fix potential division-by-zero error in em_compute_costs()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38297",
    "datePublished": "2025-07-10T07:42:10.918Z",
    "dateReserved": "2025-04-16T04:51:24.002Z",
    "dateUpdated": "2026-05-11T21:25:15.247Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-38297",
      "date": "2026-09-17",
      "epss": "0.00152",
      "percentile": "0.04775"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38297\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-10T08:15:28.390\",\"lastModified\":\"2026-06-17T09:16:34.347\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nPM: EM: Fix potential division-by-zero error in em_compute_costs()\\n\\nWhen the device is of a non-CPU type, table[i].performance won\u0027t be\\ninitialized in the previous em_init_performance(), resulting in division\\nby zero when calculating costs in em_compute_costs().\\n\\nSince the \u0027cost\u0027 algorithm is only used for EAS energy efficiency\\ncalculations and is currently not utilized by other device drivers, we\\nshould add the _is_cpu_device(dev) check to prevent this division-by-zero\\nissue.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: PM: EM: Se corrige un posible error de divisi\u00f3n por cero en em_compute_costs(). Cuando el dispositivo no es de tipo CPU, table[i].performance no se inicializa en la funci\u00f3n em_init_performance() anterior, lo que resulta en una divisi\u00f3n por cero al calcular los costos en em_compute_costs(). Dado que el algoritmo \\\"cost\\\" solo se utiliza para c\u00e1lculos de eficiencia energ\u00e9tica de EAS y actualmente no lo utilizan otros controladores de dispositivos, se debe agregar la comprobaci\u00f3n _is_cpu_device(dev) para evitar este problema de divisi\u00f3n por cero.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"kernel/power/energy_model.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"1b600da510735a0f92c8b4140a7e2cb037a6a6c3\",\"lessThan\":\"81d72f9241d884ec29524431f74f8009310cfa0c\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"1b600da510735a0f92c8b4140a7e2cb037a6a6c3\",\"lessThan\":\"14cbdd64f3870cf0a2d94b87919b9056448c59a0\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"1b600da510735a0f92c8b4140a7e2cb037a6a6c3\",\"lessThan\":\"179c0c7044a378198adb36f2a12410ab68cc730a\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"kernel/power/energy_model.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.9\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.9\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.34\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.15.3\",\"lessThanOrEqual\":\"6.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.16\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-369\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.9\",\"versionEndExcluding\":\"6.12.34\",\"matchCriteriaId\":\"A373E395-B1B2-445B-8784-2A89BF879AD5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.15.3\",\"matchCriteriaId\":\"0541C761-BD5E-4C1A-8432-83B375D7EB92\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/14cbdd64f3870cf0a2d94b87919b9056448c59a0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/179c0c7044a378198adb36f2a12410ab68cc730a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/81d72f9241d884ec29524431f74f8009310cfa0c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-06-30T01:03:09+00:00",
      "cve": "CVE-2025-38297",
      "id": "CVE-2025-38297",
      "initial_release_date": "2025-07-10T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel: Denial of Service via division-by-zero in energy efficiency calculation",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-38297.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…