{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-23172",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-01-13T15:37:45.983Z",
        "datePublished": "2026-02-14T16:01:34.165Z",
        "dateUpdated": "2026-08-05T12:20:27.102Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T12:20:27.102Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: wwan: t7xx: fix potential skb->frags overflow in RX path\n\nWhen receiving data in the DPMAIF RX path,\nthe t7xx_dpmaif_set_frag_to_skb() function adds\npage fragments to an skb without checking if the number of\nfragments has exceeded MAX_SKB_FRAGS. This could lead to a buffer overflow\nin skb_shinfo(skb)->frags[] array, corrupting adjacent memory and\npotentially causing kernel crashes or other undefined behavior.\n\nThis issue was identified through static code analysis by comparing with a\nsimilar vulnerability fixed in the mt76 driver commit b102f0c522cf (\"mt76:\nfix array overflow on receiving too many fragments for a packet\").\n\nThe vulnerability could be triggered if the modem firmware sends packets\nwith excessive fragments. While under normal protocol conditions (MTU 3080\nbytes, BAT buffer 3584 bytes),\na single packet should not require additional\nfragments, the kernel should not blindly trust firmware behavior.\nMalicious, buggy, or compromised firmware could potentially craft packets\nwith more fragments than the kernel expects.\n\nFix this by adding a bounds check before calling skb_add_rx_frag() to\nensure nr_frags does not exceed MAX_SKB_FRAGS.\n\nThe check must be performed before unmapping to avoid a page leak\nand double DMA unmap during device teardown."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 8.4,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerability is in a PCIe WWAN modem driver (t7xx). Data originates from the local modem device via DMA. While the modem could theoretically be compromised over cellular, the immediate attack vector is the local PCIe device interface, not a network protocol stack.\nAC:L - Once the modem firmware is compromised, triggering the overflow is straightforward — simply send a packet with more than MAX_SKB_FRAGS (17) fragment PIT entries. No race conditions, special timing, or non-default configuration required.\nPR:N - No OS-level privileges or authentication are needed. The modem device sends DMA data autonomously without any credential check from the kernel; the entire RX path from IRQ through NAPI poll to the vulnerable function has zero privilege gates.\nUI:N - No user interaction is required. The vulnerability is triggered automatically during packet reception when the modem's NAPI poll processes incoming DMA data.\nS:U - The impact stays within the kernel's security authority. There is no crossing of a virtualization, sandbox, or IOMMU boundary.\nC:H - The heap buffer overflow past the frags[] array (last field in skb_shared_info) corrupts adjacent slab objects with attacker-influenced content (page pointers and sizes), potentially enabling arbitrary kernel memory reads.\nI:H - The overflow writes attacker-controlled skb_frag_t entries (page pointers, offsets, sizes) past the slab allocation boundary, corrupting adjacent kernel objects including potentially slab freelist pointers, enabling arbitrary write primitives and code execution.\nA:H - Corrupting slab metadata or adjacent kernel objects will almost certainly cause a kernel crash or panic, as confirmed by the analogous mt76 CVE which explicitly noted freelist pointer corruption."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c"
                    ],
                    "versions": [
                        {
                            "version": "d642b012df70a76dd5723f2d426b40bffe83ac49",
                            "lessThan": "f9747a7521a48afded5bff2faf1f2dcfff48c577",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d642b012df70a76dd5723f2d426b40bffe83ac49",
                            "lessThan": "2a0522f564acd34442652ea083091c329fa7c5d5",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d642b012df70a76dd5723f2d426b40bffe83ac49",
                            "lessThan": "af4b8577d0b388cc3d0039eb0cdd9ca5bbbc9276",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d642b012df70a76dd5723f2d426b40bffe83ac49",
                            "lessThan": "2c0fb0f60bc1545c52da61bc6bd4855c1e7814ba",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d642b012df70a76dd5723f2d426b40bffe83ac49",
                            "lessThan": "f0813bcd2d9d97fdbdf2efb9532ab03ae92e99e6",
                            "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/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c"
                    ],
                    "versions": [
                        {
                            "version": "5.19",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.19",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.162",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.123",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.69",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.9",
                            "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.19",
                                    "versionEndExcluding": "6.1.162"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.19",
                                    "versionEndExcluding": "6.6.123"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.19",
                                    "versionEndExcluding": "6.12.69"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.19",
                                    "versionEndExcluding": "6.18.9"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.19",
                                    "versionEndExcluding": "6.19"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/f9747a7521a48afded5bff2faf1f2dcfff48c577"
                },
                {
                    "url": "https://git.kernel.org/stable/c/2a0522f564acd34442652ea083091c329fa7c5d5"
                },
                {
                    "url": "https://git.kernel.org/stable/c/af4b8577d0b388cc3d0039eb0cdd9ca5bbbc9276"
                },
                {
                    "url": "https://git.kernel.org/stable/c/2c0fb0f60bc1545c52da61bc6bd4855c1e7814ba"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f0813bcd2d9d97fdbdf2efb9532ab03ae92e99e6"
                }
            ],
            "title": "net: wwan: t7xx: fix potential skb->frags overflow in RX path",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}