← Back to CVE Explorer

CVE-2026-99157

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: bsg: Pass reply_len to bsg_setup_queue() to fit UFS ARPMB replies bsg-lib allocates a 96-byte (SCSI_SENSE_BUFFERSIZE) reply buffer per job, but struct ufs_rpmb_reply is 104 bytes: a 40-byte struct ufs_bsg_reply followed by a 64-byte EHS. When an Advanced RPMB command returns an EHS, ufshcd_advanced_rpmb_req_handler() copies it right after the 40-byte header and writes 8 bytes past the end of the buffer. Let each BSG transport pass its reply buffer size to bsg_setup_queue() and have ufs_bsg request sizeof(struct ufs_rpmb_reply), so the full reply reaches user space. Other transports keep SCSI_SENSE_BUFFERSIZE.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-28 11:17:35.933000
Last modified
2026-10-28 11:17:35.933000
View original CVE JSON
{
  "id": "CVE-2026-99157",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-28T11:17:35.933",
  "lastModified": "2026-10-28T11:17:35.933",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: bsg: Pass reply_len to bsg_setup_queue() to fit UFS ARPMB replies\n\nbsg-lib allocates a 96-byte (SCSI_SENSE_BUFFERSIZE) reply buffer per\njob, but struct ufs_rpmb_reply is 104 bytes: a 40-byte struct\nufs_bsg_reply followed by a 64-byte EHS. When an Advanced RPMB command\nreturns an EHS, ufshcd_advanced_rpmb_req_handler() copies it right after\nthe 40-byte header and writes 8 bytes past the end of the buffer.\n\nLet each BSG transport pass its reply buffer size to bsg_setup_queue()\nand have ufs_bsg request sizeof(struct ufs_rpmb_reply), so the full\nreply reaches user space. Other transports keep SCSI_SENSE_BUFFERSIZE."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "block/bsg-lib.c",
            "drivers/scsi/mpi3mr/mpi3mr_app.c",
            "drivers/scsi/scsi_transport_fc.c",
            "drivers/scsi/scsi_transport_iscsi.c",
            "drivers/scsi/scsi_transport_sas.c",
            "drivers/ufs/core/ufs_bsg.c",
            "include/linux/bsg-lib.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6ff265fc5ef660499e0edc4641647e99eed3f519",
              "lessThan": "2effbe746452c108188f85a6951f2b0b65653840",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "6ff265fc5ef660499e0edc4641647e99eed3f519",
              "lessThan": "7a755f6d47b811d3abd93c1642ce5e63894540b8",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "6ff265fc5ef660499e0edc4641647e99eed3f519",
              "lessThan": "ec6b083915e8146e147314a5f4f1285d07b57bfc",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "block/bsg-lib.c",
            "drivers/scsi/mpi3mr/mpi3mr_app.c",
            "drivers/scsi/scsi_transport_fc.c",
            "drivers/scsi/scsi_transport_iscsi.c",
            "drivers/scsi/scsi_transport_sas.c",
            "drivers/ufs/core/ufs_bsg.c",
            "include/linux/bsg-lib.h"
          ],
          "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.18.59",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.13",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2effbe746452c108188f85a6951f2b0b65653840",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7a755f6d47b811d3abd93c1642ce5e63894540b8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ec6b083915e8146e147314a5f4f1285d07b57bfc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}