CVE-2025-39999 (GCVE-0-2025-39999)

Vulnerability from cvelistv5 – Published: 2025-10-15 07:58 – Updated: 2026-05-23 16:01
VLAI
Title
blk-mq: fix blk_mq_tags double free while nr_requests grown
Summary
In the Linux kernel, the following vulnerability has been resolved: blk-mq: fix blk_mq_tags double free while nr_requests grown In the case user trigger tags grow by queue sysfs attribute nr_requests, hctx->sched_tags will be freed directly and replaced with a new allocated tags, see blk_mq_tag_update_depth(). The problem is that hctx->sched_tags is from elevator->et->tags, while et->tags is still the freed tags, hence later elevator exit will try to free the tags again, causing kernel panic. Fix this problem by replacing et->tags with new allocated tags as well. Noted there are still some long term problems that will require some refactor to be fixed thoroughly[1]. [1] https://lore.kernel.org/all/20250815080216.410665-1-yukuai1@huaweicloud.com/
Severity
No CVSS data available.
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 6843 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 58567d8e95c096ad234963df90a2ca518901f4b6 , < 8faee580d63bc2a54a59dcdb7f9ce4de29384fec (git)
Affected: f5a6604f7a4405450e4a1f54e5430f47290c500f , < 392b1d64911f4de8887fe8b68299fa8bd6e5b923 (git)
Affected: f5a6604f7a4405450e4a1f54e5430f47290c500f , < ba28afbd9eff2a6370f23ef4e6a036ab0cfda409 (git)
Affected: 6.16.4 , < 6.16.11 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.17
Unaffected: 0 , < 6.17 (semver)
Unaffected: 6.16.11 , ≤ 6.16.* (semver)
Unaffected: 6.17.1 , ≤ 6.17.* (semver)
Unaffected: 6.18 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "block/blk-mq-tag.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8faee580d63bc2a54a59dcdb7f9ce4de29384fec",
              "status": "affected",
              "version": "58567d8e95c096ad234963df90a2ca518901f4b6",
              "versionType": "git"
            },
            {
              "lessThan": "392b1d64911f4de8887fe8b68299fa8bd6e5b923",
              "status": "affected",
              "version": "f5a6604f7a4405450e4a1f54e5430f47290c500f",
              "versionType": "git"
            },
            {
              "lessThan": "ba28afbd9eff2a6370f23ef4e6a036ab0cfda409",
              "status": "affected",
              "version": "f5a6604f7a4405450e4a1f54e5430f47290c500f",
              "versionType": "git"
            },
            {
              "lessThan": "6.16.11",
              "status": "affected",
              "version": "6.16.4",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "block/blk-mq-tag.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.17"
            },
            {
              "lessThan": "6.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.16.*",
              "status": "unaffected",
              "version": "6.16.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.1",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16.11",
                  "versionStartIncluding": "6.16.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.1",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblk-mq: fix blk_mq_tags double free while nr_requests grown\n\nIn the case user trigger tags grow by queue sysfs attribute nr_requests,\nhctx-\u003esched_tags will be freed directly and replaced with a new\nallocated tags, see blk_mq_tag_update_depth().\n\nThe problem is that hctx-\u003esched_tags is from elevator-\u003eet-\u003etags, while\net-\u003etags is still the freed tags, hence later elevator exit will try to\nfree the tags again, causing kernel panic.\n\nFix this problem by replacing et-\u003etags with new allocated tags as well.\n\nNoted there are still some long term problems that will require some\nrefactor to be fixed thoroughly[1].\n\n[1] https://lore.kernel.org/all/20250815080216.410665-1-yukuai1@huaweicloud.com/"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-23T16:01:13.466Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8faee580d63bc2a54a59dcdb7f9ce4de29384fec"
        },
        {
          "url": "https://git.kernel.org/stable/c/392b1d64911f4de8887fe8b68299fa8bd6e5b923"
        },
        {
          "url": "https://git.kernel.org/stable/c/ba28afbd9eff2a6370f23ef4e6a036ab0cfda409"
        }
      ],
      "title": "blk-mq: fix blk_mq_tags double free while nr_requests grown",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-39999",
    "datePublished": "2025-10-15T07:58:23.038Z",
    "dateReserved": "2025-04-16T07:20:57.151Z",
    "dateUpdated": "2026-05-23T16:01:13.466Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-39999",
      "date": "2026-10-22",
      "epss": "0.00197",
      "percentile": "0.08887"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "block/blk-mq-tag.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "8faee580d63bc2a54a59dcdb7f9ce4de29384fec",
                    "status": "affected",
                    "version": "58567d8e95c096ad234963df90a2ca518901f4b6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "392b1d64911f4de8887fe8b68299fa8bd6e5b923",
                    "status": "affected",
                    "version": "f5a6604f7a4405450e4a1f54e5430f47290c500f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ba28afbd9eff2a6370f23ef4e6a036ab0cfda409",
                    "status": "affected",
                    "version": "f5a6604f7a4405450e4a1f54e5430f47290c500f",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.16.11",
                    "status": "affected",
                    "version": "6.16.4",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "block/blk-mq-tag.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.17"
                  },
                  {
                    "lessThan": "6.17",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.16.*",
                    "status": "unaffected",
                    "version": "6.16.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.17.*",
                    "status": "unaffected",
                    "version": "6.17.1",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.18",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblk-mq: fix blk_mq_tags double free while nr_requests grown\n\nIn the case user trigger tags grow by queue sysfs attribute nr_requests,\nhctx-\u003esched_tags will be freed directly and replaced with a new\nallocated tags, see blk_mq_tag_update_depth().\n\nThe problem is that hctx-\u003esched_tags is from elevator-\u003eet-\u003etags, while\net-\u003etags is still the freed tags, hence later elevator exit will try to\nfree the tags again, causing kernel panic.\n\nFix this problem by replacing et-\u003etags with new allocated tags as well.\n\nNoted there are still some long term problems that will require some\nrefactor to be fixed thoroughly[1].\n\n[1] https://lore.kernel.org/all/20250815080216.410665-1-yukuai1@huaweicloud.com/"
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nblk-mq: correcci\u00f3n de la doble liberaci\u00f3n de blk_mq_tags mientras nr_requests crec\u00eda\n\nEn el caso de que el usuario active el crecimiento de las etiquetas mediante el atributo sysfs de la cola nr_requests, hctx-\u003esched_tags se liberar\u00e1 directamente y se reemplazar\u00e1 con nuevas etiquetas asignadas, v\u00e9ase blk_mq_tag_update_depth().\n\nEl problema es que hctx-\u003esched_tags proviene de elevator-\u003eet-\u003etags, mientras que et-\u003etags sigue siendo las etiquetas liberadas, por lo tanto, una salida posterior del elevador intentar\u00e1 liberar las etiquetas de nuevo, causando un p\u00e1nico del kernel.\n\nSoluciona este problema reemplazando et-\u003etags tambi\u00e9n con nuevas etiquetas asignadas.\n\nSe ha observado que todav\u00eda existen algunos problemas a largo plazo que requerir\u00e1n una refactorizaci\u00f3n para ser solucionados completamente[1].\n\n[1] https://lore.kernel.org/all/20250815080216.410665-1-yukuai1@huaweicloud.com/"
          }
        ],
        "id": "CVE-2025-39999",
        "lastModified": "2026-10-19T21:10:00.160",
        "metrics": {},
        "published": "2025-10-15T08:15:38.210",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/392b1d64911f4de8887fe8b68299fa8bd6e5b923"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/8faee580d63bc2a54a59dcdb7f9ce4de29384fec"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ba28afbd9eff2a6370f23ef4e6a036ab0cfda409"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Deferred"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-06-30T01:28:44+00:00",
      "cve": "CVE-2025-39999",
      "id": "CVE-2025-39999",
      "initial_release_date": "2025-10-15T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: blk-mq: fix blk_mq_tags double free while nr_requests grown",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-39999.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

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.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    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.