{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-40984",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-07-12T12:17:45.604Z",
        "datePublished": "2024-07-12T12:33:57.947Z",
        "dateUpdated": "2026-08-05T11:34:24.912Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:34:24.912Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nACPICA: Revert \"ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine.\"\n\nUndo the modifications made in commit d410ee5109a1 (\"ACPICA: avoid\n\"Info: mapping multiple BARs. Your kernel is fine.\"\"). The initial\npurpose of this commit was to stop memory mappings for operation\nregions from overlapping page boundaries, as it can trigger warnings\nif different page attributes are present.\n\nHowever, it was found that when this situation arises, mapping\ncontinues until the boundary's end, but there is still an attempt to\nread/write the entire length of the map, leading to a NULL pointer\ndeference. For example, if a four-byte mapping request is made but\nonly one byte is mapped because it hits the current page boundary's\nend, a four-byte read/write attempt is still made, resulting in a NULL\npointer deference.\n\nInstead, map the entire length, as the ACPI specification does not\nmandate that it must be within the same page boundary. It is\npermissible for it to be mapped across different regions."
                }
            ],
            "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 ACPICA interpreter is driven by local kernel activity and by local users triggering AML method evaluation through world-readable sysfs attributes (`/sys/class/thermal/thermal_zone*/temp` → `_TMP`, `/sys/class/power_supply/BAT*/` → `_BST`). There is no network-facing path to the SystemMemory operation-region handler.\nAC:L - On an affected platform the overflow is fully deterministic — the same field access straddles the same page boundary on every evaluation, and the attacker can drive the method repeatedly in a loop with no race to win and no memory-layout lottery.\nPR:L - A plain unprivileged shell account suffices; reading the 0444 thermal-zone or battery sysfs attributes drives `acpi_evaluate_integer()` into the AML interpreter with no capability check, no CAP_SYS_ADMIN, and no namespace requirement.\nUI:N - The attacker triggers method evaluation directly by reading sysfs; no victim action, mount, or file-open by another user is involved.\nS:U - The out-of-bounds access and the resulting corruption both occur inside the kernel's own security authority, with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - `ACPI_GET16/32/64()` reads up to 7 bytes beyond the truncated mapping — adjacent kernel direct-mapped RAM on the kmap path — and the value is returned through AML into userspace-visible sysfs output, disclosing kernel memory contents.\nI:H - `ACPI_SET8/16/32/64()` performs an out-of-bounds kernel write of up to 8 bytes past the end of the mapped region into adjacent kernel memory, which is exactly the class of corruption that is leverageable for control-flow hijack.\nA:H - On the ioremap path the overflow touches an unmapped vmalloc page and oopses the kernel (the NULL-pointer dereference reported in bugzilla 218849); additionally the broken mapping-cache test leaks a `struct acpi_mem_mapping` and an ioremap reference on every single access, giving unbounded memory exhaustion under a trivial read loop."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/acpi/acpica/exregion.c"
                    ],
                    "versions": [
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "435ecc978c3d5d0c4e172ec5b956dc1904061d98",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "ae465109d82f4fb03c5adbe85f2d6a6a3d59124c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "6eca23100e9030725f69c1babacd58803f29ec8d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "dc5017c57f5eee80020c73ff8b67ba7f9fd08b1f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "ddc1f5f124479360a1fd43f73be950781d172239",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "434c6b924e1f4c219aab2d9e05fe79c5364e37d3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "e21a4c9129c72fa54dd00f5ebf71219b41d43c04",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "d410ee5109a1633a686a5663c6743a92e1181f9b",
                            "lessThan": "a83e1385b780d41307433ddbc86e3c528db031f0",
                            "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/acpi/acpica/exregion.c"
                    ],
                    "versions": [
                        {
                            "version": "2.6.32",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "2.6.32",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.19.317",
                            "lessThanOrEqual": "4.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.4.279",
                            "lessThanOrEqual": "5.4.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.221",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.162",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.96",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.36",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.9.7",
                            "lessThanOrEqual": "6.9.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.10",
                            "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": "2.6.32",
                                    "versionEndExcluding": "4.19.317"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "5.4.279"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "5.10.221"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "5.15.162"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "6.1.96"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "6.6.36"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "6.9.7"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.32",
                                    "versionEndExcluding": "6.10"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/435ecc978c3d5d0c4e172ec5b956dc1904061d98"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ae465109d82f4fb03c5adbe85f2d6a6a3d59124c"
                },
                {
                    "url": "https://git.kernel.org/stable/c/6eca23100e9030725f69c1babacd58803f29ec8d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/dc5017c57f5eee80020c73ff8b67ba7f9fd08b1f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ddc1f5f124479360a1fd43f73be950781d172239"
                },
                {
                    "url": "https://git.kernel.org/stable/c/434c6b924e1f4c219aab2d9e05fe79c5364e37d3"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e21a4c9129c72fa54dd00f5ebf71219b41d43c04"
                },
                {
                    "url": "https://git.kernel.org/stable/c/a83e1385b780d41307433ddbc86e3c528db031f0"
                }
            ],
            "title": "ACPICA: Revert \"ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine.\"",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/435ecc978c3d5d0c4e172ec5b956dc1904061d98",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/ae465109d82f4fb03c5adbe85f2d6a6a3d59124c",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/6eca23100e9030725f69c1babacd58803f29ec8d",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/dc5017c57f5eee80020c73ff8b67ba7f9fd08b1f",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/ddc1f5f124479360a1fd43f73be950781d172239",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/434c6b924e1f4c219aab2d9e05fe79c5364e37d3",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/e21a4c9129c72fa54dd00f5ebf71219b41d43c04",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/a83e1385b780d41307433ddbc86e3c528db031f0",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-03T21:58:49.395Z"
                }
            },
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2024-40984",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2024-09-10T17:02:10.333733Z"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-11T17:34:21.046Z"
                }
            },
            {
                "x_adpType": "supplier",
                "providerMetadata": {
                    "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
                    "shortName": "siemens-SADP",
                    "dateUpdated": "2026-05-12T11:56:04.534Z"
                },
                "affected": [
                    {
                        "vendor": "Siemens",
                        "product": "RUGGEDCOM RST2428P",
                        "versions": [
                            {
                                "status": "affected",
                                "version": "0",
                                "lessThan": "V3.1",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    },
                    {
                        "vendor": "Siemens",
                        "product": "RUGGEDCOM RST2428P",
                        "versions": [
                            {
                                "status": "unaffected",
                                "version": "0",
                                "lessThan": "*",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    },
                    {
                        "vendor": "Siemens",
                        "product": "SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family",
                        "versions": [
                            {
                                "status": "unaffected",
                                "version": "0",
                                "lessThan": "*",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    },
                    {
                        "vendor": "Siemens",
                        "product": "SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family",
                        "versions": [
                            {
                                "status": "unaffected",
                                "version": "0",
                                "lessThan": "*",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    },
                    {
                        "vendor": "Siemens",
                        "product": "SCALANCE XCM-/XRM-/XCH-/XRH-300 family",
                        "versions": [
                            {
                                "status": "affected",
                                "version": "0",
                                "lessThan": "V3.1",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    },
                    {
                        "vendor": "Siemens",
                        "product": "SCALANCE XCM-/XRM-/XCH-/XRH-300 family",
                        "versions": [
                            {
                                "status": "unaffected",
                                "version": "0",
                                "lessThan": "*",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    },
                    {
                        "vendor": "Siemens",
                        "product": "SIMATIC S7-1500 TM MFP - GNU/Linux subsystem",
                        "versions": [
                            {
                                "status": "affected",
                                "version": "0",
                                "lessThan": "*",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    }
                ],
                "references": [
                    {
                        "url": "https://cert-portal.siemens.com/productcert/html/ssa-265688.html"
                    },
                    {
                        "url": "https://cert-portal.siemens.com/productcert/html/ssa-613116.html"
                    },
                    {
                        "url": "https://cert-portal.siemens.com/productcert/html/ssa-355557.html"
                    }
                ]
            }
        ]
    }
}