{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-23112",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-01-13T15:37:45.968Z",
        "datePublished": "2026-02-13T13:29:56.724Z",
        "dateUpdated": "2026-08-05T12:20:19.573Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T12:20:19.573Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvmet-tcp: add bounds checks in nvmet_tcp_build_pdu_iovec\n\nnvmet_tcp_build_pdu_iovec() could walk past cmd->req.sg when a PDU\nlength or offset exceeds sg_cnt and then use bogus sg->length/offset\nvalues, leading to _copy_to_iter() GPF/KASAN. Guard sg_idx, remaining\nentries, and sg->length/offset before building the bvec."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 9.8,
                        "baseSeverity": "CRITICAL"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:N - nvmet-tcp is an NVMe over TCP target driver that listens on a TCP port and processes incoming network connections. A remote attacker can send crafted NVMe-TCP PDUs to trigger this vulnerability.\nAC:L - The attacker can reliably trigger the out-of-bounds access by sending crafted H2C data PDUs with manipulated data_length values that cause sg_idx to exceed sg_cnt. No race condition or special conditions beyond attacker control are required.\nPR:N - The nvmet-tcp target accepts TCP connections and processes NVMe-TCP protocol PDUs. The vulnerable code path is reached after the initial connection request (icreq) which requires no authentication — the attacker just needs network access to the listening port.\nUI:N - No user interaction is needed. The attacker sends network packets directly to the NVMe-TCP target port.\nS:U - The vulnerability affects the kernel processing NVMe-TCP requests. Impact stays within the same security authority (the kernel/system running the nvmet-tcp target).\nC:H - The out-of-bounds scatterlist read accesses adjacent slab memory, reading page pointers, offsets, and lengths from arbitrary kernel memory. This constitutes an information disclosure primitive and the constructed iovec could expose kernel memory contents.\nI:H - The OOB scatterlist entries are used to build a bio_vec for ITER_DEST (receive direction), meaning attacker-supplied network data is written to kernel pages determined by the OOB sg entries. This provides a potential arbitrary write primitive to kernel memory.\nA:H - The commit message explicitly states the bug leads to GPF (General Protection Fault) and KASAN violations, which cause kernel crashes. A remote attacker can reliably crash the kernel."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/nvme/target/tcp.c"
                    ],
                    "versions": [
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "0b9981751be14b59b4473383c731c833738aebdb",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "42afe8ed8ad2de9c19457156244ef3e1eca94b5d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "1385be357e8acd09b36e026567f3a9d5c61139de",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "dca1a6ba0da9f472ef040525fab10fd9956db59f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "19672ae68d52ff75347ebe2420dde1b07adca09f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "ab200d71553bdcf4de554a5985b05b2dd606bc57",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "872d26a391da92ed8f0c0f5cb5fef428067b7f30",
                            "lessThan": "52a0a98549344ca20ad81a4176d68d28e3c05a5c",
                            "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/nvme/target/tcp.c"
                    ],
                    "versions": [
                        {
                            "version": "5.0",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.0",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.253",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.200",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.163",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.124",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.70",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.10",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.19",
                            "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.0",
                                    "versionEndExcluding": "5.10.253"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.0",
                                    "versionEndExcluding": "5.15.200"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.0",
                                    "versionEndExcluding": "6.1.163"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.0",
                                    "versionEndExcluding": "6.6.124"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.0",
                                    "versionEndExcluding": "6.12.70"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.0",
                                    "versionEndExcluding": "6.18.10"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.0",
                                    "versionEndExcluding": "6.19"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/0b9981751be14b59b4473383c731c833738aebdb"
                },
                {
                    "url": "https://git.kernel.org/stable/c/42afe8ed8ad2de9c19457156244ef3e1eca94b5d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/1385be357e8acd09b36e026567f3a9d5c61139de"
                },
                {
                    "url": "https://git.kernel.org/stable/c/dca1a6ba0da9f472ef040525fab10fd9956db59f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/19672ae68d52ff75347ebe2420dde1b07adca09f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ab200d71553bdcf4de554a5985b05b2dd606bc57"
                },
                {
                    "url": "https://git.kernel.org/stable/c/52a0a98549344ca20ad81a4176d68d28e3c05a5c"
                }
            ],
            "title": "nvmet-tcp: add bounds checks in nvmet_tcp_build_pdu_iovec",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "x_adpType": "supplier",
                "providerMetadata": {
                    "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
                    "shortName": "siemens-SADP",
                    "dateUpdated": "2026-06-02T13:00:59.106Z"
                },
                "affected": [
                    {
                        "vendor": "Siemens",
                        "product": "RUGGEDCOM RST2428P",
                        "versions": [
                            {
                                "status": "affected",
                                "version": "0",
                                "lessThan": "V4.0",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    }
                ],
                "references": [
                    {
                        "url": "https://cert-portal.siemens.com/productcert/html/ssa-253495.html"
                    }
                ]
            }
        ]
    }
}