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

CVE-2023-54089 (GCVE-0-2023-54089)

Vulnerability from cvelistv5 – Published: 2025-12-24 13:06 – Updated: 2026-05-11 19:55
VLAI
Title
virtio_pmem: add the missing REQ_OP_WRITE for flush bio
Summary
In the Linux kernel, the following vulnerability has been resolved: virtio_pmem: add the missing REQ_OP_WRITE for flush bio When doing mkfs.xfs on a pmem device, the following warning was ------------[ cut here ]------------ WARNING: CPU: 2 PID: 384 at block/blk-core.c:751 submit_bio_noacct Modules linked in: CPU: 2 PID: 384 Comm: mkfs.xfs Not tainted 6.4.0-rc7+ #154 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:submit_bio_noacct+0x340/0x520 ...... Call Trace: <TASK> ? submit_bio_noacct+0xd5/0x520 submit_bio+0x37/0x60 async_pmem_flush+0x79/0xa0 nvdimm_flush+0x17/0x40 pmem_submit_bio+0x370/0x390 __submit_bio+0xbc/0x190 submit_bio_noacct_nocheck+0x14d/0x370 submit_bio_noacct+0x1ef/0x520 submit_bio+0x55/0x60 submit_bio_wait+0x5a/0xc0 blkdev_issue_flush+0x44/0x60 The root cause is that submit_bio_noacct() needs bio_op() is either WRITE or ZONE_APPEND for flush bio and async_pmem_flush() doesn't assign REQ_OP_WRITE when allocating flush bio, so submit_bio_noacct just fail the flush bio. Simply fix it by adding the missing REQ_OP_WRITE for flush bio. And we could fix the flush order issue and do flush optimization later.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b4a6bb3a67aa0c37b2b6cd47efc326eb455de674 , < e39e870e1e683a71d3d2e63e661a5695f60931a7 (git)
Affected: b4a6bb3a67aa0c37b2b6cd47efc326eb455de674 , < c7ab7e45ccef209809f8c2b00f497deec06b29c0 (git)
Affected: b4a6bb3a67aa0c37b2b6cd47efc326eb455de674 , < c1dbd8a849183b9c12d257ad3043ecec50db50b3 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.3
Unaffected: 0 , < 6.3 (semver)
Unaffected: 6.4.16 , ≤ 6.4.* (semver)
Unaffected: 6.5.3 , ≤ 6.5.* (semver)
Unaffected: 6.6 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvdimm/nd_virtio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e39e870e1e683a71d3d2e63e661a5695f60931a7",
              "status": "affected",
              "version": "b4a6bb3a67aa0c37b2b6cd47efc326eb455de674",
              "versionType": "git"
            },
            {
              "lessThan": "c7ab7e45ccef209809f8c2b00f497deec06b29c0",
              "status": "affected",
              "version": "b4a6bb3a67aa0c37b2b6cd47efc326eb455de674",
              "versionType": "git"
            },
            {
              "lessThan": "c1dbd8a849183b9c12d257ad3043ecec50db50b3",
              "status": "affected",
              "version": "b4a6bb3a67aa0c37b2b6cd47efc326eb455de674",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvdimm/nd_virtio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.16",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.5.*",
              "status": "unaffected",
              "version": "6.5.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.6",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.16",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5.3",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvirtio_pmem: add the missing REQ_OP_WRITE for flush bio\n\nWhen doing mkfs.xfs on a pmem device, the following warning was\n\n ------------[ cut here ]------------\n WARNING: CPU: 2 PID: 384 at block/blk-core.c:751 submit_bio_noacct\n Modules linked in:\n CPU: 2 PID: 384 Comm: mkfs.xfs Not tainted 6.4.0-rc7+ #154\n Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)\n RIP: 0010:submit_bio_noacct+0x340/0x520\n ......\n Call Trace:\n  \u003cTASK\u003e\n  ? submit_bio_noacct+0xd5/0x520\n  submit_bio+0x37/0x60\n  async_pmem_flush+0x79/0xa0\n  nvdimm_flush+0x17/0x40\n  pmem_submit_bio+0x370/0x390\n  __submit_bio+0xbc/0x190\n  submit_bio_noacct_nocheck+0x14d/0x370\n  submit_bio_noacct+0x1ef/0x520\n  submit_bio+0x55/0x60\n  submit_bio_wait+0x5a/0xc0\n  blkdev_issue_flush+0x44/0x60\n\nThe root cause is that submit_bio_noacct() needs bio_op() is either\nWRITE or ZONE_APPEND for flush bio and async_pmem_flush() doesn\u0027t assign\nREQ_OP_WRITE when allocating flush bio, so submit_bio_noacct just fail\nthe flush bio.\n\nSimply fix it by adding the missing REQ_OP_WRITE for flush bio. And we\ncould fix the flush order issue and do flush optimization later."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T19:55:16.792Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e39e870e1e683a71d3d2e63e661a5695f60931a7"
        },
        {
          "url": "https://git.kernel.org/stable/c/c7ab7e45ccef209809f8c2b00f497deec06b29c0"
        },
        {
          "url": "https://git.kernel.org/stable/c/c1dbd8a849183b9c12d257ad3043ecec50db50b3"
        }
      ],
      "title": "virtio_pmem: add the missing REQ_OP_WRITE for flush bio",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54089",
    "datePublished": "2025-12-24T13:06:18.904Z",
    "dateReserved": "2025-12-24T13:02:52.516Z",
    "dateUpdated": "2026-05-11T19:55:16.792Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-54089",
      "date": "2026-09-14",
      "epss": "0.00201",
      "percentile": "0.10155"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-54089\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-24T13:16:10.767\",\"lastModified\":\"2026-06-17T06:46:46.940\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nvirtio_pmem: add the missing REQ_OP_WRITE for flush bio\\n\\nWhen doing mkfs.xfs on a pmem device, the following warning was\\n\\n ------------[ cut here ]------------\\n WARNING: CPU: 2 PID: 384 at block/blk-core.c:751 submit_bio_noacct\\n Modules linked in:\\n CPU: 2 PID: 384 Comm: mkfs.xfs Not tainted 6.4.0-rc7+ #154\\n Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)\\n RIP: 0010:submit_bio_noacct+0x340/0x520\\n ......\\n Call Trace:\\n  \u003cTASK\u003e\\n  ? submit_bio_noacct+0xd5/0x520\\n  submit_bio+0x37/0x60\\n  async_pmem_flush+0x79/0xa0\\n  nvdimm_flush+0x17/0x40\\n  pmem_submit_bio+0x370/0x390\\n  __submit_bio+0xbc/0x190\\n  submit_bio_noacct_nocheck+0x14d/0x370\\n  submit_bio_noacct+0x1ef/0x520\\n  submit_bio+0x55/0x60\\n  submit_bio_wait+0x5a/0xc0\\n  blkdev_issue_flush+0x44/0x60\\n\\nThe root cause is that submit_bio_noacct() needs bio_op() is either\\nWRITE or ZONE_APPEND for flush bio and async_pmem_flush() doesn\u0027t assign\\nREQ_OP_WRITE when allocating flush bio, so submit_bio_noacct just fail\\nthe flush bio.\\n\\nSimply fix it by adding the missing REQ_OP_WRITE for flush bio. And we\\ncould fix the flush order issue and do flush optimization later.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/nvdimm/nd_virtio.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"b4a6bb3a67aa0c37b2b6cd47efc326eb455de674\",\"lessThan\":\"e39e870e1e683a71d3d2e63e661a5695f60931a7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b4a6bb3a67aa0c37b2b6cd47efc326eb455de674\",\"lessThan\":\"c7ab7e45ccef209809f8c2b00f497deec06b29c0\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b4a6bb3a67aa0c37b2b6cd47efc326eb455de674\",\"lessThan\":\"c1dbd8a849183b9c12d257ad3043ecec50db50b3\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/nvdimm/nd_virtio.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.3\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.3\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.16\",\"lessThanOrEqual\":\"6.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.5.3\",\"lessThanOrEqual\":\"6.5.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/c1dbd8a849183b9c12d257ad3043ecec50db50b3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c7ab7e45ccef209809f8c2b00f497deec06b29c0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e39e870e1e683a71d3d2e63e661a5695f60931a7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-06-29T22:42:56+00:00",
      "cve": "CVE-2023-54089",
      "id": "CVE-2023-54089",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "305",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "166",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: virtio_pmem: add the missing REQ_OP_WRITE for flush bio",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-54089.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-01T01:15:20Z",
      "cve": "CVE-2023-54089",
      "id": "CVE-2023-54089",
      "initial_release_date": "2025-12-25T00:55:53Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "443",
      "product_status:recommended": "255",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-54089",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-54089.json",
      "version": "38"
    }
  }
}



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…

Loading…