← Back to CVE Explorer

CVE-2025-68348

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: block: fix memory leak in __blkdev_issue_zero_pages Move the fatal signal check before bio_alloc() to prevent a memory leak when BLKDEV_ZERO_KILLABLE is set and a fatal signal is pending. Previously, the bio was allocated before checking for a fatal signal. If a signal was pending, the code would break out of the loop without freeing or chaining the just-allocated bio, causing a memory leak. This matches the pattern already used in __blkdev_issue_write_zeroes() where the signal check precedes the allocation.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-12-24 11:15:58.147000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-68348",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-12-24T11:15:58.147",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblock: fix memory leak in __blkdev_issue_zero_pages\n\nMove the fatal signal check before bio_alloc() to prevent a memory\nleak when BLKDEV_ZERO_KILLABLE is set and a fatal signal is pending.\n\nPreviously, the bio was allocated before checking for a fatal signal.\nIf a signal was pending, the code would break out of the loop without\nfreeing or chaining the just-allocated bio, causing a memory leak.\n\nThis matches the pattern already used in __blkdev_issue_write_zeroes()\nwhere the signal check precedes the allocation."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha corregido la siguiente vulnerabilidad:\\n\\nblock: corregir fuga de memoria en __blkdev_issue_zero_pages\\n\\nMover la comprobación de señal fatal antes de bio_alloc() para evitar una fuga de memoria cuando BLKDEV_ZERO_KILLABLE está activado y hay una señal fatal pendiente.\\n\\nAnteriormente, el bio se asignaba antes de verificar la señal fatal. Si había una señal pendiente, el código salía del bucle sin liberar ni encadenar el bio recién asignado, provocando una fuga de memoria.\\n\\nEsto coincide con el patrón ya utilizado en __blkdev_issue_write_zeroes() donde la comprobación de la señal precede a la asignación."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "block/blk-lib.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "bf86bcdb40123ee99669ee91b67e023669433a1a",
              "lessThan": "453e4b0c84d0db1454ff0adf655d91179e6fca3a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bf86bcdb40123ee99669ee91b67e023669433a1a",
              "lessThan": "7957635c679e8a01147163a3a4a1f16e1210fa03",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bf86bcdb40123ee99669ee91b67e023669433a1a",
              "lessThan": "7193407bc4457212fa38ec3aff9c640e63a8dbef",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bf86bcdb40123ee99669ee91b67e023669433a1a",
              "lessThan": "f7e3f852a42d7cd8f1af2c330d9d153e30c8adcf",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "block/blk-lib.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.11",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.11",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.63",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.13",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.2",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.19",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/453e4b0c84d0db1454ff0adf655d91179e6fca3a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7193407bc4457212fa38ec3aff9c640e63a8dbef",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7957635c679e8a01147163a3a4a1f16e1210fa03",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f7e3f852a42d7cd8f1af2c330d9d153e30c8adcf",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}