CVE-2025-38047 (GCVE-0-2025-38047)
Vulnerability from cvelistv5
Published
2025-06-18 09:33
Modified
2025-07-15 15:43
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: x86/fred: Fix system hang during S4 resume with FRED enabled Upon a wakeup from S4, the restore kernel starts and initializes the FRED MSRs as needed from its perspective. It then loads a hibernation image, including the image kernel, and attempts to load image pages directly into their original page frames used before hibernation unless those frames are currently in use. Once all pages are moved to their original locations, it jumps to a "trampoline" page in the image kernel. At this point, the image kernel takes control, but the FRED MSRs still contain values set by the restore kernel, which may differ from those set by the image kernel before hibernation. Therefore, the image kernel must ensure the FRED MSRs have the same values as before hibernation. Since these values depend only on the location of the kernel text and data, they can be recomputed from scratch.
Impacted products
Vendor Product Version
Linux Linux Version: ff45746fbf005f96e42bea466698e3fdbf926013
Version: ff45746fbf005f96e42bea466698e3fdbf926013
Version: ff45746fbf005f96e42bea466698e3fdbf926013
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/power/cpu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c42f740a07eea4807e98d2d8febc549c957a7b49",
              "status": "affected",
              "version": "ff45746fbf005f96e42bea466698e3fdbf926013",
              "versionType": "git"
            },
            {
              "lessThan": "e7090fe75a2826363c71ad1fb4e95e58141478df",
              "status": "affected",
              "version": "ff45746fbf005f96e42bea466698e3fdbf926013",
              "versionType": "git"
            },
            {
              "lessThan": "e5f1e8af9c9e151ecd665f6d2e36fb25fec3b110",
              "status": "affected",
              "version": "ff45746fbf005f96e42bea466698e3fdbf926013",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/power/cpu.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.31",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.31",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.9",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/fred: Fix system hang during S4 resume with FRED enabled\n\nUpon a wakeup from S4, the restore kernel starts and initializes the\nFRED MSRs as needed from its perspective.  It then loads a hibernation\nimage, including the image kernel, and attempts to load image pages\ndirectly into their original page frames used before hibernation unless\nthose frames are currently in use.  Once all pages are moved to their\noriginal locations, it jumps to a \"trampoline\" page in the image kernel.\n\nAt this point, the image kernel takes control, but the FRED MSRs still\ncontain values set by the restore kernel, which may differ from those\nset by the image kernel before hibernation.  Therefore, the image kernel\nmust ensure the FRED MSRs have the same values as before hibernation.\nSince these values depend only on the location of the kernel text and\ndata, they can be recomputed from scratch."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-07-15T15:43:55.220Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c42f740a07eea4807e98d2d8febc549c957a7b49"
        },
        {
          "url": "https://git.kernel.org/stable/c/e7090fe75a2826363c71ad1fb4e95e58141478df"
        },
        {
          "url": "https://git.kernel.org/stable/c/e5f1e8af9c9e151ecd665f6d2e36fb25fec3b110"
        }
      ],
      "title": "x86/fred: Fix system hang during S4 resume with FRED enabled",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38047",
    "datePublished": "2025-06-18T09:33:30.742Z",
    "dateReserved": "2025-04-16T04:51:23.979Z",
    "dateUpdated": "2025-07-15T15:43:55.220Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38047\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-06-18T10:15:37.317\",\"lastModified\":\"2025-06-18T13:46:52.973\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nx86/fred: Fix system hang during S4 resume with FRED enabled\\n\\nUpon a wakeup from S4, the restore kernel starts and initializes the\\nFRED MSRs as needed from its perspective.  It then loads a hibernation\\nimage, including the image kernel, and attempts to load image pages\\ndirectly into their original page frames used before hibernation unless\\nthose frames are currently in use.  Once all pages are moved to their\\noriginal locations, it jumps to a \\\"trampoline\\\" page in the image kernel.\\n\\nAt this point, the image kernel takes control, but the FRED MSRs still\\ncontain values set by the restore kernel, which may differ from those\\nset by the image kernel before hibernation.  Therefore, the image kernel\\nmust ensure the FRED MSRs have the same values as before hibernation.\\nSince these values depend only on the location of the kernel text and\\ndata, they can be recomputed from scratch.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/fred: Se solucion\u00f3 el bloqueo del sistema durante la reanudaci\u00f3n de S4 con FRED habilitado. Al reactivarse desde S4, el kernel de restauraci\u00f3n se inicia e inicializa los MSR de FRED seg\u00fan sea necesario. A continuaci\u00f3n, carga una imagen de hibernaci\u00f3n, incluyendo el kernel de imagen, e intenta cargar las p\u00e1ginas de la imagen directamente en los marcos de p\u00e1gina originales utilizados antes de la hibernaci\u00f3n, a menos que dichos marcos est\u00e9n en uso. Una vez que todas las p\u00e1ginas se mueven a sus ubicaciones originales, se accede a una p\u00e1gina \\\"trampol\u00edn\\\" en el kernel de imagen. En este punto, el kernel de imagen toma el control, pero los MSR de FRED a\u00fan contienen valores establecidos por el kernel de restauraci\u00f3n, que pueden diferir de los establecidos por el kernel de imagen antes de la hibernaci\u00f3n. Por lo tanto, el kernel de imagen debe garantizar que los MSR de FRED tengan los mismos valores que antes de la hibernaci\u00f3n. Dado que estos valores dependen \u00fanicamente de la ubicaci\u00f3n del texto y los datos del kernel, pueden recalcularse desde cero.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/c42f740a07eea4807e98d2d8febc549c957a7b49\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e5f1e8af9c9e151ecd665f6d2e36fb25fec3b110\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e7090fe75a2826363c71ad1fb4e95e58141478df\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…