In the Linux kernel, the following vulnerability has been resolved:
ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
Undo the modifications made in commit d410ee5109a1 ("ACPICA: avoid "Info: mapping multiple BARs. Your kernel is fine.""). The initial purpose of this commit was to stop memory mappings for operation regions from overlapping page boundaries, as it can trigger warnings if different page attributes are present.
However, it was found that when this situation arises, mapping continues until the boundary's end, but there is still an attempt to read/write the entire length of the map, leading to a NULL pointer deference. For example, if a four-byte mapping request is made but only one byte is mapped because it hits the current page boundary's end, a four-byte read/write attempt is still made, resulting in a NULL pointer deference.
Instead, map the entire length, as the ACPI specification does not mandate that it must be within the same page boundary. It is permissible for it to be mapped across different regions.
[
{
"id": "CVE-2024-40984-14ec0ef5",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "193468079171487602672468408839336191066",
"length": 2819.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc5017c57f5eee80020c73ff8b67ba7f9fd08b1f"
},
{
"id": "CVE-2024-40984-2598a0e4",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"239429850047856957200556181225304201030",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"212511207736945059448218094720494615023",
"235266125707409232247218598798152748243",
"222141096570707043967516258415034147180"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@435ecc978c3d5d0c4e172ec5b956dc1904061d98"
},
{
"id": "CVE-2024-40984-268251ec",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "225187447692901603248040472996426568221",
"length": 2409.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@435ecc978c3d5d0c4e172ec5b956dc1904061d98"
},
{
"id": "CVE-2024-40984-4569df64",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"276462232509922686883365077364144361731",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"114956875548645774908713586364380422751",
"211846923734460160608664691293125064981",
"9241888417601087475917473685724401663"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dc5017c57f5eee80020c73ff8b67ba7f9fd08b1f"
},
{
"id": "CVE-2024-40984-4edd2d4f",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "193468079171487602672468408839336191066",
"length": 2819.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6eca23100e9030725f69c1babacd58803f29ec8d"
},
{
"id": "CVE-2024-40984-56bcfff3",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"239429850047856957200556181225304201030",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"212511207736945059448218094720494615023",
"235266125707409232247218598798152748243",
"222141096570707043967516258415034147180"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae465109d82f4fb03c5adbe85f2d6a6a3d59124c"
},
{
"id": "CVE-2024-40984-8d9678ac",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"276462232509922686883365077364144361731",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"114956875548645774908713586364380422751",
"211846923734460160608664691293125064981",
"9241888417601087475917473685724401663"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6eca23100e9030725f69c1babacd58803f29ec8d"
},
{
"id": "CVE-2024-40984-8da23797",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"276462232509922686883365077364144361731",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"114956875548645774908713586364380422751",
"211846923734460160608664691293125064981",
"9241888417601087475917473685724401663"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a83e1385b780d41307433ddbc86e3c528db031f0"
},
{
"id": "CVE-2024-40984-8e5a1864",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"276462232509922686883365077364144361731",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"114956875548645774908713586364380422751",
"211846923734460160608664691293125064981",
"9241888417601087475917473685724401663"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@434c6b924e1f4c219aab2d9e05fe79c5364e37d3"
},
{
"id": "CVE-2024-40984-9aceae2a",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "193468079171487602672468408839336191066",
"length": 2819.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ddc1f5f124479360a1fd43f73be950781d172239"
},
{
"id": "CVE-2024-40984-c3e0cabe",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "193468079171487602672468408839336191066",
"length": 2819.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@434c6b924e1f4c219aab2d9e05fe79c5364e37d3"
},
{
"id": "CVE-2024-40984-c3e8883c",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "193468079171487602672468408839336191066",
"length": 2819.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e21a4c9129c72fa54dd00f5ebf71219b41d43c04"
},
{
"id": "CVE-2024-40984-e240c1dd",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "193468079171487602672468408839336191066",
"length": 2819.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a83e1385b780d41307433ddbc86e3c528db031f0"
},
{
"id": "CVE-2024-40984-e29cf54d",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"276462232509922686883365077364144361731",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"114956875548645774908713586364380422751",
"211846923734460160608664691293125064981",
"9241888417601087475917473685724401663"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ddc1f5f124479360a1fd43f73be950781d172239"
},
{
"id": "CVE-2024-40984-f1cbd988",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"276462232509922686883365077364144361731",
"306865111951557476444719949618659641510",
"245815112093925926530572294431548153350",
"306873394042427461465163709724366374426",
"404894691652458206262245134657996983",
"202056734520994863934535123421025410070",
"215971582476520047594875063003593955667",
"314339394497189102659839102830428316463",
"141595935558745090877700484187307956162",
"85407604704540644814988304696035104123",
"81892332855452654178081443320050135189",
"242939988046809398183273883129691580662",
"114956875548645774908713586364380422751",
"211846923734460160608664691293125064981",
"9241888417601087475917473685724401663"
],
"threshold": 0.9
},
"target": {
"file": "drivers/acpi/acpica/exregion.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e21a4c9129c72fa54dd00f5ebf71219b41d43c04"
},
{
"id": "CVE-2024-40984-f1f9f24d",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "225187447692901603248040472996426568221",
"length": 2409.0
},
"target": {
"file": "drivers/acpi/acpica/exregion.c",
"function": "acpi_ex_system_memory_space_handler"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae465109d82f4fb03c5adbe85f2d6a6a3d59124c"
}
]