{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2023-53376",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-09-17T14:54:09.735Z",
        "datePublished": "2025-09-18T13:33:22.364Z",
        "dateUpdated": "2026-08-05T09:13:44.095Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T09:13:44.095Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: mpi3mr: Use number of bits to manage bitmap sizes\n\nTo allocate bitmaps, the mpi3mr driver calculates sizes of bitmaps using\nbyte as unit. However, bitmap helper functions assume that bitmaps are\nallocated using unsigned long as unit. This gap causes memory access beyond\nthe bitmap sizes and results in \"BUG: KASAN: slab-out-of-bounds\".  The BUG\nwas observed at firmware download to eHBA-9600. Call trace indicated that\nthe out-of-bounds access happened in find_first_zero_bit() called from\nmpi3mr_send_event_ack() for miroc->evtack_cmds_bitmap.\n\nTo fix the BUG, do not use bytes to manage bitmap sizes. Instead, use\nnumber of bits, and call bitmap helper functions which take number of bits\nas arguments. For memory allocation, call bitmap_zalloc() instead of\nkzalloc() and krealloc(). For memory free, call bitmap_free() instead of\nkfree(). For zero clear, call bitmap_clear() instead of memset().\n\nRemove three fields for bitmap byte sizes in struct scmd_priv which are no\nlonger required. Replace the field dev_handle_bitmap_sz with\ndev_handle_bitmap_bits to keep number of bits of removepend_bitmap across\nresize."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is in the Broadcom mpi3mr SCSI HBA driver (bitmap helpers on undersized chain/evtack/devrem/removepend bitmaps), reachable only via local I/O, firmware-event handling, or BSG management on a system with that PCI HBA; there is no network or adjacent-network path.\nAC:L - Allocation uses byte-rounded sizes while find_first_zero_bit/set_bit/clear_bit always operate on unsigned long words, so the out-of-bounds access occurs reliably on typical max_reqs-derived chain counts and always for the fixed 4-bit evtack and 16-bit devrem bitmaps, with no attacker-uncontrollable race or rare config required.\nPR:L - An unprivileged local user with access to a block device or filesystem backed by the mpi3mr HBA can submit multi-segment I/O that takes mpi3mr_prepare_sg_scmd → mpi3mr_get_chain_idx and exercises the undersized chain_bitmap; CAP_SYS_RAWIO/BSG firmware update is not required.\nUI:N - The attacker triggers the vulnerable bitmap operations through their own I/O (or, on the evtack path, their own firmware-management activity); no separate victim or administrator action is required.\nS:U - Impact is confined to kernel slab memory within the host kernel’s security authority; this is not a VM escape, IOMMU bypass, or other cross-boundary compromise.\nC:H - find_first_zero_bit reads past the allocated bitmap into adjacent slab bytes, and the paired set_bit/test_and_set_bit out-of-bounds writes are memory corruption that can be leveraged for broader kernel information disclosure.\nI:H - set_bit/test_and_set_bit/clear_bit perform read-modify-write of a full unsigned long beyond the byte-sized allocation, yielding a slab out-of-bounds write primitive that can corrupt adjacent heap state and enable control-flow hijacking.\nA:H - The commit documents a KASAN slab-out-of-bounds in this path, and the out-of-bounds read/write can oops/panic the kernel (including under KASAN/panic_on_warn), taking down the host and its storage controller."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/scsi/mpi3mr/mpi3mr.h",
                        "drivers/scsi/mpi3mr/mpi3mr_fw.c"
                    ],
                    "versions": [
                        {
                            "version": "824a156633dfdb0e17979a0d0bb2c757d1bb949c",
                            "lessThan": "6a675a6d57d31da43d8da576465c1cd5d5b0bd3d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "824a156633dfdb0e17979a0d0bb2c757d1bb949c",
                            "lessThan": "8ac713d2e9845e9234bb12ae5903040685d5aff9",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "824a156633dfdb0e17979a0d0bb2c757d1bb949c",
                            "lessThan": "339e61565f81a6534afdc18fd854b2e2628bf5db",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/scsi/mpi3mr/mpi3mr.h",
                        "drivers/scsi/mpi3mr/mpi3mr_fw.c"
                    ],
                    "versions": [
                        {
                            "version": "5.14",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.14",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.18",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.2.5",
                            "lessThanOrEqual": "6.2.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.3",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.14",
                                    "versionEndExcluding": "6.1.18"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.14",
                                    "versionEndExcluding": "6.2.5"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.14",
                                    "versionEndExcluding": "6.3"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/6a675a6d57d31da43d8da576465c1cd5d5b0bd3d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/8ac713d2e9845e9234bb12ae5903040685d5aff9"
                },
                {
                    "url": "https://git.kernel.org/stable/c/339e61565f81a6534afdc18fd854b2e2628bf5db"
                }
            ],
            "title": "scsi: mpi3mr: Use number of bits to manage bitmap sizes",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "cvssV3_1": {
                            "scope": "UNCHANGED",
                            "version": "3.1",
                            "baseScore": 7.1,
                            "attackVector": "LOCAL",
                            "baseSeverity": "HIGH",
                            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
                            "integrityImpact": "NONE",
                            "userInteraction": "NONE",
                            "attackComplexity": "LOW",
                            "availabilityImpact": "HIGH",
                            "privilegesRequired": "LOW",
                            "confidentialityImpact": "HIGH"
                        }
                    },
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2023-53376",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2026-01-14T18:54:58.227496Z"
                            }
                        }
                    }
                ],
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "lang": "en",
                                "type": "CWE",
                                "cweId": "CWE-125",
                                "description": "CWE-125 Out-of-bounds Read"
                            }
                        ]
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2026-01-14T19:03:03.599Z"
                }
            }
        ]
    }
}