{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2023-53236",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-09-15T14:19:21.847Z",
        "datePublished": "2025-09-15T14:22:09.250Z",
        "dateUpdated": "2026-08-05T09:13:13.962Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T09:13:13.962Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommufd: Do not corrupt the pfn list when doing batch carry\n\nIf batch->end is 0 then setting npfns[0] before computing the new value of\npfns will fail to adjust the pfn and result in various page accounting\ncorruptions. It should be ordered after.\n\nThis seems to result in various kinds of page meta-data corruption related\nfailures:\n\n  WARNING: CPU: 1 PID: 527 at mm/gup.c:75 try_grab_folio+0x503/0x740\n  Modules linked in:\n  CPU: 1 PID: 527 Comm: repro Not tainted 6.3.0-rc2-eeac8ede1755+ #1\n  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014\n  RIP: 0010:try_grab_folio+0x503/0x740\n  Code: e3 01 48 89 de e8 6d c1 dd ff 48 85 db 0f 84 7c fe ff ff e8 4f bf dd ff 49 8d 47 ff 48 89 45 d0 e9 73 fe ff ff e8 3d bf dd ff <0f> 0b 31 db e9 d0 fc ff ff e8 2f bf dd ff 48 8b 5d c8 31 ff 48 89\n  RSP: 0018:ffffc90000f37908 EFLAGS: 00010046\n  RAX: 0000000000000000 RBX: 00000000fffffc02 RCX: ffffffff81504c26\n  RDX: 0000000000000000 RSI: ffff88800d030000 RDI: 0000000000000002\n  RBP: ffffc90000f37948 R08: 000000000003ca24 R09: 0000000000000008\n  R10: 000000000003ca00 R11: 0000000000000023 R12: ffffea000035d540\n  R13: 0000000000000001 R14: 0000000000000000 R15: ffffea000035d540\n  FS:  00007fecbf659740(0000) GS:ffff88807dd00000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  CR2: 00000000200011c3 CR3: 000000000ef66006 CR4: 0000000000770ee0\n  PKRU: 55555554\n  Call Trace:\n   <TASK>\n   internal_get_user_pages_fast+0xd32/0x2200\n   pin_user_pages_fast+0x65/0x90\n   pfn_reader_user_pin+0x376/0x390\n   pfn_reader_next+0x14a/0x7b0\n   pfn_reader_first+0x140/0x1b0\n   iopt_area_fill_domain+0x74/0x210\n   iopt_table_add_domain+0x30e/0x6e0\n   iommufd_device_selftest_attach+0x7f/0x140\n   iommufd_test+0x10ff/0x16f0\n   iommufd_fops_ioctl+0x206/0x330\n   __x64_sys_ioctl+0x10e/0x160\n   do_syscall_64+0x3b/0x90\n   entry_SYSCALL_64_after_hwframe+0x72/0xdc"
                }
            ],
            "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 vulnerability is reached through ioctl on /dev/iommu (iommufd), a local miscdevice interface; the vulnerable batch_clear_carry path is not reachable from the network stack or remote protocols.\nAC:L - An attacker who can open iommufd and drive map/unmap plus device attach/detach with an overlapping access can reliably hit the carry path; success does not depend on races or other conditions outside the attacker's control.\nPR:L - Opening /dev/iommu requires only local device-node access (mode 0660, no capability check on open), and binding a normal IOMMU-backed VFIO device does not require CAP_SYS_RAWIO; this matches other iommufd CVEs scored PR:L.\nUI:N - Exploitation is performed solely by the attacker's own ioctls (IOAS map/unmap, device attach/detach/destroy); no separate victim action is required.\nS:U - The bug corrupts page pin accounting within the kernel's own memory management during unpin, enabling local privilege escalation; unlike overlapping-IOVA bugs it does not create a cross-boundary IOMMU/DMA isolation bypass.\nC:H - Incorrect pfn carry causes unpin_user_page_range_dirty_lock on the wrong pages, producing page-refcount corruption and use-after-free primitives that can be leveraged for arbitrary kernel memory disclosure.\nI:H - The same page-refcount corruption and UAF from wrong-page unpinning can be turned into arbitrary kernel writes and control-flow hijacking, consistent with guidance that memory-corruption/UAF bugs score Integrity High.\nA:H - The bug demonstrably triggers kernel WARNINGs in try_grab_folio and related carry failures cause oops/NULL derefs in batch_unpin, so availability impact is a full kernel crash."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/iommu/iommufd/pages.c"
                    ],
                    "versions": [
                        {
                            "version": "f394576eb11dbcd3a740fa41e577b97f0720d26e",
                            "lessThan": "6ed5784526ddc0fb58b1798af36ec0c3139a8dca",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "f394576eb11dbcd3a740fa41e577b97f0720d26e",
                            "lessThan": "13a0d1ae7ee6b438f5537711a8c60cba00554943",
                            "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/iommu/iommufd/pages.c"
                    ],
                    "versions": [
                        {
                            "version": "6.2",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.2",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.2.11",
                            "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": "6.2",
                                    "versionEndExcluding": "6.2.11"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.2",
                                    "versionEndExcluding": "6.3"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/6ed5784526ddc0fb58b1798af36ec0c3139a8dca"
                },
                {
                    "url": "https://git.kernel.org/stable/c/13a0d1ae7ee6b438f5537711a8c60cba00554943"
                }
            ],
            "title": "iommufd: Do not corrupt the pfn list when doing batch carry",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "cvssV3_1": {
                            "scope": "UNCHANGED",
                            "version": "3.1",
                            "baseScore": 5.5,
                            "attackVector": "LOCAL",
                            "baseSeverity": "MEDIUM",
                            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                            "integrityImpact": "NONE",
                            "userInteraction": "NONE",
                            "attackComplexity": "LOW",
                            "availabilityImpact": "HIGH",
                            "privilegesRequired": "LOW",
                            "confidentialityImpact": "NONE"
                        }
                    },
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2023-53236",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2026-01-14T17:56:30.391037Z"
                            }
                        }
                    }
                ],
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "lang": "en",
                                "type": "CWE",
                                "description": "CWE-noinfo Not enough information"
                            }
                        ]
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2026-01-14T18:02:49.950Z"
                }
            }
        ]
    }
}