← Back to CVE Explorer

CVE-2025-40113

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: remoteproc: qcom: pas: Shutdown lite ADSP DTB on X1E The ADSP firmware on X1E has separate firmware binaries for the main firmware and the DTB. The same applies for the "lite" firmware loaded by the boot firmware. When preparing to load the new ADSP firmware we shutdown the lite_pas_id for the main firmware, but we don't shutdown the corresponding lite pas_id for the DTB. The fact that we're leaving it "running" forever becomes obvious if you try to reuse (or just access) the memory region used by the "lite" firmware: The &adsp_boot_mem is accessible, but accessing the &adsp_boot_dtb_mem results in a crash. We don't support reusing the memory regions currently, but nevertheless we should not keep part of the lite firmware running. Fix this by adding the lite_dtb_pas_id and shutting it down as well. We don't have a way to detect if the lite firmware is actually running yet, so ignore the return status of qcom_scm_pas_shutdown() for now. This was already the case before, the assignment to "ret" is not used anywhere.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-11-12 11:15:40.637000
Last modified
2026-10-21 13:18:18.910000
View original CVE JSON
{
  "id": "CVE-2025-40113",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-11-12T11:15:40.637",
  "lastModified": "2026-10-21T13:18:18.910",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nremoteproc: qcom: pas: Shutdown lite ADSP DTB on X1E\n\nThe ADSP firmware on X1E has separate firmware binaries for the main\nfirmware and the DTB. The same applies for the \"lite\" firmware loaded by\nthe boot firmware.\n\nWhen preparing to load the new ADSP firmware we shutdown the lite_pas_id\nfor the main firmware, but we don't shutdown the corresponding lite pas_id\nfor the DTB. The fact that we're leaving it \"running\" forever becomes\nobvious if you try to reuse (or just access) the memory region used by the\n\"lite\" firmware: The &adsp_boot_mem is accessible, but accessing the\n&adsp_boot_dtb_mem results in a crash.\n\nWe don't support reusing the memory regions currently, but nevertheless we\nshould not keep part of the lite firmware running. Fix this by adding the\nlite_dtb_pas_id and shutting it down as well.\n\nWe don't have a way to detect if the lite firmware is actually running yet,\nso ignore the return status of qcom_scm_pas_shutdown() for now. This was\nalready the case before, the assignment to \"ret\" is not used anywhere."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:\n\nremoteproc: qcom: pas: Apagado del DTB ADSP lite en X1E\n\nEl firmware ADSP en X1E tiene binarios de firmware separados para el firmware principal y el DTB. Lo mismo se aplica al firmware “lite” cargado por el firmware de arranque.\n\nAl prepararnos para cargar el nuevo firmware ADSP, apagamos el lite_pas_id para el firmware principal, pero no apagamos el lite_pas_id correspondiente para el DTB. El hecho de que lo dejemos “en ejecución” indefinidamente se vuelve obvio si se intenta reutilizar (o simplemente acceder) la región de memoria utilizada por el firmware “lite”: El &adsp_boot_mem es accesible, pero acceder al &adsp_boot_dtb_mem provoca un fallo.\n\nActualmente no admitimos la reutilización de las regiones de memoria, pero, sin embargo, no deberíamos mantener parte del firmware lite en ejecución. Esto se soluciona añadiendo el lite_dtb_pas_id y apagándolo también.\n\nTodavía no tenemos una forma de detectar si el firmware lite está realmente en ejecución, así que, por ahora, ignoramos el estado de retorno de qcom_scm_pas_shutdown(). Esto ya era así antes; la asignación a “ret” no se utiliza en ningún lugar."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/remoteproc/qcom_q6v5_pas.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "62210f7509e13a2caa7b080722a45229b8f17a0a",
              "lessThan": "ce536b90fc6a32629577f81db333f39ebacef0cb",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "62210f7509e13a2caa7b080722a45229b8f17a0a",
              "lessThan": "ee150acd273aded01a726ce39b1f6128200799e6",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "62210f7509e13a2caa7b080722a45229b8f17a0a",
              "lessThan": "142964960c7c35de5c5f7bdd61c32699de693630",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/remoteproc/qcom_q6v5_pas.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.114",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.3",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/142964960c7c35de5c5f7bdd61c32699de693630",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ce536b90fc6a32629577f81db333f39ebacef0cb",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ee150acd273aded01a726ce39b1f6128200799e6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}