CVE-2024-46743 (GCVE-0-2024-46743)
Vulnerability from cvelistv5
Published
2024-09-18 07:12
Modified
2026-08-05 11:38
Summary
In the Linux kernel, the following vulnerability has been resolved: of/irq: Prevent device address out-of-bounds read in interrupt map walk When of_irq_parse_raw() is invoked with a device address smaller than the interrupt parent node (from #address-cells property), KASAN detects the following out-of-bounds read when populating the initial match table (dyndbg="func of_irq_parse_* +p"): OF: of_irq_parse_one: dev=/soc@0/picasso/watchdog, index=0 OF: parent=/soc@0/pci@878000000000/gpio0@17,0, intsize=2 OF: intspec=4 OF: of_irq_parse_raw: ipar=/soc@0/pci@878000000000/gpio0@17,0, size=2 OF: -> addrsize=3 ================================================================== BUG: KASAN: slab-out-of-bounds in of_irq_parse_raw+0x2b8/0x8d0 Read of size 4 at addr ffffff81beca5608 by task bash/764 CPU: 1 PID: 764 Comm: bash Tainted: G O 6.1.67-484c613561-nokia_sm_arm64 #1 Hardware name: Unknown Unknown Product/Unknown Product, BIOS 2023.01-12.24.03-dirty 01/01/2023 Call trace: dump_backtrace+0xdc/0x130 show_stack+0x1c/0x30 dump_stack_lvl+0x6c/0x84 print_report+0x150/0x448 kasan_report+0x98/0x140 __asan_load4+0x78/0xa0 of_irq_parse_raw+0x2b8/0x8d0 of_irq_parse_one+0x24c/0x270 parse_interrupts+0xc0/0x120 of_fwnode_add_links+0x100/0x2d0 fw_devlink_parse_fwtree+0x64/0xc0 device_add+0xb38/0xc30 of_device_add+0x64/0x90 of_platform_device_create_pdata+0xd0/0x170 of_platform_bus_create+0x244/0x600 of_platform_notify+0x1b0/0x254 blocking_notifier_call_chain+0x9c/0xd0 __of_changeset_entry_notify+0x1b8/0x230 __of_changeset_apply_notify+0x54/0xe4 of_overlay_fdt_apply+0xc04/0xd94 ... The buggy address belongs to the object at ffffff81beca5600 which belongs to the cache kmalloc-128 of size 128 The buggy address is located 8 bytes inside of 128-byte region [ffffff81beca5600, ffffff81beca5680) The buggy address belongs to the physical page: page:00000000230d3d03 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1beca4 head:00000000230d3d03 order:1 compound_mapcount:0 compound_pincount:0 flags: 0x8000000000010200(slab|head|zone=2) raw: 8000000000010200 0000000000000000 dead000000000122 ffffff810000c300 raw: 0000000000000000 0000000000200020 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffffff81beca5500: 04 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffffff81beca5580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffffff81beca5600: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffffff81beca5680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffffff81beca5700: 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc fc ================================================================== OF: -> got it ! Prevent the out-of-bounds read by copying the device address into a buffer of sufficient size.
Impacted products
Vendor Product Version
Linux Linux Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Version: cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-46743",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-29T14:49:43.804091Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-29T14:49:58.918Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T22:17:32.674Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "affected": [
          {
            "defaultStatus": "unknown",
            "product": "RUGGEDCOM RST2428P",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.2",
                "status": "affected",
                "version": "0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.2",
                "status": "affected",
                "version": "0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SCALANCE XCM-/XRM-/XCH-/XRH-300 family",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.2",
                "status": "affected",
                "version": "0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 TM MFP - GNU/Linux subsystem",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.1.5",
                "status": "affected",
                "version": "V3.1.0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.1.5",
                "status": "affected",
                "version": "V3.1.0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.1.5",
                "status": "affected",
                "version": "V3.1.0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.1.5",
                "status": "affected",
                "version": "V3.1.0",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIPLUS S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "V3.1.5",
                "status": "affected",
                "version": "V3.1.0",
                "versionType": "custom"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-05-12T11:57:42.256Z",
          "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
          "shortName": "siemens-SADP"
        },
        "references": [
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-398330.html"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-265688.html"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-355557.html"
          }
        ],
        "x_adpType": "supplier"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/of/irq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d2a79494d8a5262949736fb2c3ac44d20a51b0d8",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "defcaa426ba0bc89ffdafb799d2e50b52f74ffc4",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "9d1e9f0876b03d74d44513a0ed3ed15ef8f2fed5",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "baaf26723beab3a04da578d3008be3544f83758f",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "8ff351ea12e918db1373b915c4c268815929cbe5",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "7ead730af11ee7da107f16fc77995613c58d292d",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "bf68acd840b6a5bfd3777e0d5aaa204db6b461a9",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            },
            {
              "lessThan": "b739dffa5d570b411d4bdf4bb9b8dfd6b7d72305",
              "status": "affected",
              "version": "cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/of/irq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.18"
            },
            {
              "lessThan": "2.6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.322",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.284",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.226",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.167",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.51",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.10.*",
              "status": "unaffected",
              "version": "6.10.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.11",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.322",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.284",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.226",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.167",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.110",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.51",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10.10",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11",
                  "versionStartIncluding": "2.6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nof/irq: Prevent device address out-of-bounds read in interrupt map walk\n\nWhen of_irq_parse_raw() is invoked with a device address smaller than\nthe interrupt parent node (from #address-cells property), KASAN detects\nthe following out-of-bounds read when populating the initial match table\n(dyndbg=\"func of_irq_parse_* +p\"):\n\n  OF: of_irq_parse_one: dev=/soc@0/picasso/watchdog, index=0\n  OF:  parent=/soc@0/pci@878000000000/gpio0@17,0, intsize=2\n  OF:  intspec=4\n  OF: of_irq_parse_raw: ipar=/soc@0/pci@878000000000/gpio0@17,0, size=2\n  OF:  -\u003e addrsize=3\n  ==================================================================\n  BUG: KASAN: slab-out-of-bounds in of_irq_parse_raw+0x2b8/0x8d0\n  Read of size 4 at addr ffffff81beca5608 by task bash/764\n\n  CPU: 1 PID: 764 Comm: bash Tainted: G           O       6.1.67-484c613561-nokia_sm_arm64 #1\n  Hardware name: Unknown Unknown Product/Unknown Product, BIOS 2023.01-12.24.03-dirty 01/01/2023\n  Call trace:\n   dump_backtrace+0xdc/0x130\n   show_stack+0x1c/0x30\n   dump_stack_lvl+0x6c/0x84\n   print_report+0x150/0x448\n   kasan_report+0x98/0x140\n   __asan_load4+0x78/0xa0\n   of_irq_parse_raw+0x2b8/0x8d0\n   of_irq_parse_one+0x24c/0x270\n   parse_interrupts+0xc0/0x120\n   of_fwnode_add_links+0x100/0x2d0\n   fw_devlink_parse_fwtree+0x64/0xc0\n   device_add+0xb38/0xc30\n   of_device_add+0x64/0x90\n   of_platform_device_create_pdata+0xd0/0x170\n   of_platform_bus_create+0x244/0x600\n   of_platform_notify+0x1b0/0x254\n   blocking_notifier_call_chain+0x9c/0xd0\n   __of_changeset_entry_notify+0x1b8/0x230\n   __of_changeset_apply_notify+0x54/0xe4\n   of_overlay_fdt_apply+0xc04/0xd94\n   ...\n\n  The buggy address belongs to the object at ffffff81beca5600\n   which belongs to the cache kmalloc-128 of size 128\n  The buggy address is located 8 bytes inside of\n   128-byte region [ffffff81beca5600, ffffff81beca5680)\n\n  The buggy address belongs to the physical page:\n  page:00000000230d3d03 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1beca4\n  head:00000000230d3d03 order:1 compound_mapcount:0 compound_pincount:0\n  flags: 0x8000000000010200(slab|head|zone=2)\n  raw: 8000000000010200 0000000000000000 dead000000000122 ffffff810000c300\n  raw: 0000000000000000 0000000000200020 00000001ffffffff 0000000000000000\n  page dumped because: kasan: bad access detected\n\n  Memory state around the buggy address:\n   ffffff81beca5500: 04 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\n   ffffff81beca5580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\n  \u003effffff81beca5600: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\n                        ^\n   ffffff81beca5680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\n   ffffff81beca5700: 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc fc\n  ==================================================================\n  OF:  -\u003e got it !\n\nPrevent the out-of-bounds read by copying the device address into a\nbuffer of sufficient size."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code parses device-tree data during device instantiation and driver probe; there is no path by which network- or bus-peer-supplied data reaches `of_irq_parse_one()`. Triggering it requires local presence on the system (module autoload/device instantiation, or applying a DT overlay).\nAC:L - The out-of-bounds read is a deterministic consequence of the DT shape \u2014 any node whose `reg` is shorter than its interrupt parent\u0027s `#address-cells` hits it on every parse, with no race, timing window, or memory-layout condition to win. A party able to supply DT data arranges it trivially, and on an affected platform it fires unconditionally.\nPR:L - On a platform whose shipped device tree carries the `reg`/`#address-cells` mismatch \u2014 a real, observed configuration in the reporting bug \u2014 an unprivileged local user can drive the affected node through `device_add()`/`platform_get_irq()` by triggering module autoload or device instantiation, with no capability required. Full control over the DT blob would need root or firmware access, but that stronger requirement is not necessary to reach the faulty read.\nUI:N - Interrupt resolution happens automatically during device registration and driver probe; no victim action such as opening a file or mounting a filesystem is involved.\nS:U - The out-of-bounds read and its consequences are confined to kernel memory and kernel IRQ-routing state within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Up to ~60 bytes of adjacent slab memory beyond the `reg` allocation are read into `initial_match_array`, well past the \"few bytes\" threshold and unconstrained as to what neighbouring heap object is disclosed. The values then steer interrupt-map matching, so the resulting IRQ assignment observable in `/proc/interrupts` acts as an oracle on out-of-bounds heap contents.\nI:L - The out-of-bounds bytes are used directly as the match key for the interrupt-map walk, so uninitialized adjacent-heap data determines which interrupt parent and hwirq the device is bound to \u2014 a genuine but bounded corruption of kernel device configuration. There is no write primitive, so arbitrary modification or control-flow hijack is not achievable.\nA:H - With KASAN or arm64 MTE (`KASAN_HW_TAGS`, enabled on production Android) and `kasan.fault=panic`, the slab out-of-bounds read is an immediate kernel panic; for the base unflattened DT blob the read can also run past the final page and oops. Misrouted interrupts from a bogus match additionally leave the affected device non-functional."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:38:18.138Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d2a79494d8a5262949736fb2c3ac44d20a51b0d8"
        },
        {
          "url": "https://git.kernel.org/stable/c/defcaa426ba0bc89ffdafb799d2e50b52f74ffc4"
        },
        {
          "url": "https://git.kernel.org/stable/c/9d1e9f0876b03d74d44513a0ed3ed15ef8f2fed5"
        },
        {
          "url": "https://git.kernel.org/stable/c/baaf26723beab3a04da578d3008be3544f83758f"
        },
        {
          "url": "https://git.kernel.org/stable/c/8ff351ea12e918db1373b915c4c268815929cbe5"
        },
        {
          "url": "https://git.kernel.org/stable/c/7ead730af11ee7da107f16fc77995613c58d292d"
        },
        {
          "url": "https://git.kernel.org/stable/c/bf68acd840b6a5bfd3777e0d5aaa204db6b461a9"
        },
        {
          "url": "https://git.kernel.org/stable/c/b739dffa5d570b411d4bdf4bb9b8dfd6b7d72305"
        }
      ],
      "title": "of/irq: Prevent device address out-of-bounds read in interrupt map walk",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-46743",
    "datePublished": "2024-09-18T07:12:04.166Z",
    "dateReserved": "2024-09-11T15:12:18.264Z",
    "dateUpdated": "2026-08-05T11:38:18.138Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\"}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T22:17:32.674Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-46743\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-29T14:49:43.804091Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-29T14:49:47.964Z\"}}], \"cna\": {\"title\": \"of/irq: Prevent device address out-of-bounds read in interrupt map walk\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"d2a79494d8a5262949736fb2c3ac44d20a51b0d8\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"defcaa426ba0bc89ffdafb799d2e50b52f74ffc4\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"9d1e9f0876b03d74d44513a0ed3ed15ef8f2fed5\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"baaf26723beab3a04da578d3008be3544f83758f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"8ff351ea12e918db1373b915c4c268815929cbe5\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"7ead730af11ee7da107f16fc77995613c58d292d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"bf68acd840b6a5bfd3777e0d5aaa204db6b461a9\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"cc9fd71c62f542233c412b5fabc1bbe0c4d5ad08\", \"lessThan\": \"b739dffa5d570b411d4bdf4bb9b8dfd6b7d72305\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/of/irq.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"2.6.18\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"2.6.18\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.322\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.284\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.226\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.167\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.110\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.51\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10.10\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.10.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/of/irq.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/d2a79494d8a5262949736fb2c3ac44d20a51b0d8\"}, {\"url\": \"https://git.kernel.org/stable/c/defcaa426ba0bc89ffdafb799d2e50b52f74ffc4\"}, {\"url\": \"https://git.kernel.org/stable/c/9d1e9f0876b03d74d44513a0ed3ed15ef8f2fed5\"}, {\"url\": \"https://git.kernel.org/stable/c/baaf26723beab3a04da578d3008be3544f83758f\"}, {\"url\": \"https://git.kernel.org/stable/c/8ff351ea12e918db1373b915c4c268815929cbe5\"}, {\"url\": \"https://git.kernel.org/stable/c/7ead730af11ee7da107f16fc77995613c58d292d\"}, {\"url\": \"https://git.kernel.org/stable/c/bf68acd840b6a5bfd3777e0d5aaa204db6b461a9\"}, {\"url\": \"https://git.kernel.org/stable/c/b739dffa5d570b411d4bdf4bb9b8dfd6b7d72305\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nof/irq: Prevent device address out-of-bounds read in interrupt map walk\\n\\nWhen of_irq_parse_raw() is invoked with a device address smaller than\\nthe interrupt parent node (from #address-cells property), KASAN detects\\nthe following out-of-bounds read when populating the initial match table\\n(dyndbg=\\\"func of_irq_parse_* +p\\\"):\\n\\n  OF: of_irq_parse_one: dev=/soc@0/picasso/watchdog, index=0\\n  OF:  parent=/soc@0/pci@878000000000/gpio0@17,0, intsize=2\\n  OF:  intspec=4\\n  OF: of_irq_parse_raw: ipar=/soc@0/pci@878000000000/gpio0@17,0, size=2\\n  OF:  -\u003e addrsize=3\\n  ==================================================================\\n  BUG: KASAN: slab-out-of-bounds in of_irq_parse_raw+0x2b8/0x8d0\\n  Read of size 4 at addr ffffff81beca5608 by task bash/764\\n\\n  CPU: 1 PID: 764 Comm: bash Tainted: G           O       6.1.67-484c613561-nokia_sm_arm64 #1\\n  Hardware name: Unknown Unknown Product/Unknown Product, BIOS 2023.01-12.24.03-dirty 01/01/2023\\n  Call trace:\\n   dump_backtrace+0xdc/0x130\\n   show_stack+0x1c/0x30\\n   dump_stack_lvl+0x6c/0x84\\n   print_report+0x150/0x448\\n   kasan_report+0x98/0x140\\n   __asan_load4+0x78/0xa0\\n   of_irq_parse_raw+0x2b8/0x8d0\\n   of_irq_parse_one+0x24c/0x270\\n   parse_interrupts+0xc0/0x120\\n   of_fwnode_add_links+0x100/0x2d0\\n   fw_devlink_parse_fwtree+0x64/0xc0\\n   device_add+0xb38/0xc30\\n   of_device_add+0x64/0x90\\n   of_platform_device_create_pdata+0xd0/0x170\\n   of_platform_bus_create+0x244/0x600\\n   of_platform_notify+0x1b0/0x254\\n   blocking_notifier_call_chain+0x9c/0xd0\\n   __of_changeset_entry_notify+0x1b8/0x230\\n   __of_changeset_apply_notify+0x54/0xe4\\n   of_overlay_fdt_apply+0xc04/0xd94\\n   ...\\n\\n  The buggy address belongs to the object at ffffff81beca5600\\n   which belongs to the cache kmalloc-128 of size 128\\n  The buggy address is located 8 bytes inside of\\n   128-byte region [ffffff81beca5600, ffffff81beca5680)\\n\\n  The buggy address belongs to the physical page:\\n  page:00000000230d3d03 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1beca4\\n  head:00000000230d3d03 order:1 compound_mapcount:0 compound_pincount:0\\n  flags: 0x8000000000010200(slab|head|zone=2)\\n  raw: 8000000000010200 0000000000000000 dead000000000122 ffffff810000c300\\n  raw: 0000000000000000 0000000000200020 00000001ffffffff 0000000000000000\\n  page dumped because: kasan: bad access detected\\n\\n  Memory state around the buggy address:\\n   ffffff81beca5500: 04 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\\n   ffffff81beca5580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\\n  \u003effffff81beca5600: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\\n                        ^\\n   ffffff81beca5680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc\\n   ffffff81beca5700: 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc fc\\n  ==================================================================\\n  OF:  -\u003e got it !\\n\\nPrevent the out-of-bounds read by copying the device address into a\\nbuffer of sufficient size.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.322\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.284\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.226\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.167\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.110\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.51\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10.10\", \"versionStartIncluding\": \"2.6.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.11\", \"versionStartIncluding\": \"2.6.18\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-01-05T10:52:59.785Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-46743\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-01-05T10:52:59.785Z\", \"dateReserved\": \"2024-09-11T15:12:18.264Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-09-18T07:12:04.166Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…