CVE-2026-63798 (GCVE-0-2026-63798)

Vulnerability from cvelistv5 – Published: 2026-07-19 12:02 – Updated: 2026-07-19 12:02
VLAI
Title
irqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove
Summary
In the Linux kernel, the following vulnerability has been resolved: irqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove The driver allocates domain generic chips using irq_alloc_domain_generic_chips() during probe and sets up chained handlers using irq_set_chained_handler_and_data(). However, on driver removal, the generic chips are not freed and the chained handlers are not removed. The generic chips remain on the global gc_list and may later be accessed by generic interrupt chip suspend, resume, or shutdown callbacks after the driver has been removed, potentially resulting in a use-after-free and kernel crash. The chained handlers that were installed in probe for peripheral and syswake interrupts are also left dangling, which can lead to spurious interrupts accessing freed memory. Fix these issues by: - Setting IRQ_DOMAIN_FLAG_DESTROY_GC flag in domain->flags, so the core code automatically removes generic chips when irq_domain_remove() is called - Clearing all chained handlers with NULL in pdc_intc_remove()
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < 8176773dfceae7978b01c20b233693e072053700 (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < c2c7733101bb8c0b29ac9ee41073eaf602821a59 (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < 83d7ec14b0938ad8cae008058fd6f912f4a9a312 (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < 44567537a2623dcd2b4018a7f043cf8069579e5d (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < 41826e5297e67cd96a0a46fde06a5069a8ce436a (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < b3a3831b2eb884641906fc5e46207b205b6aea13 (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < 0405a65e4ebd9eac13a765f9f02ac05851ca5421 (git)
Affected: b6ef9161e43ad58c3824bd76dc87716276f0cd70 , < 37738fdf2ab1e504d1c63ce5bc0aeb6452d8f057 (git)
Create a notification for this product.
Linux Linux Affected: 3.12
Unaffected: 0 , < 3.12 (semver)
Unaffected: 5.10.260 , ≤ 5.10.* (semver)
Unaffected: 5.15.211 , ≤ 5.15.* (semver)
Unaffected: 6.1.177 , ≤ 6.1.* (semver)
Unaffected: 6.6.144 , ≤ 6.6.* (semver)
Unaffected: 6.12.95 , ≤ 6.12.* (semver)
Unaffected: 6.18.38 , ≤ 6.18.* (semver)
Unaffected: 7.1.3 , ≤ 7.1.* (semver)
Unaffected: 7.2-rc1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/irqchip/irq-imgpdc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8176773dfceae7978b01c20b233693e072053700",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "c2c7733101bb8c0b29ac9ee41073eaf602821a59",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "83d7ec14b0938ad8cae008058fd6f912f4a9a312",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "44567537a2623dcd2b4018a7f043cf8069579e5d",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "41826e5297e67cd96a0a46fde06a5069a8ce436a",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "b3a3831b2eb884641906fc5e46207b205b6aea13",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "0405a65e4ebd9eac13a765f9f02ac05851ca5421",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            },
            {
              "lessThan": "37738fdf2ab1e504d1c63ce5bc0aeb6452d8f057",
              "status": "affected",
              "version": "b6ef9161e43ad58c3824bd76dc87716276f0cd70",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/irqchip/irq-imgpdc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.12"
            },
            {
              "lessThan": "3.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.260",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.211",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.177",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.144",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.95",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.38",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.260",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.211",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.177",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.144",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.95",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.38",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.3",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2-rc1",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nirqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove\n\nThe driver allocates domain generic chips using\nirq_alloc_domain_generic_chips() during probe and sets up chained\nhandlers using irq_set_chained_handler_and_data(). However, on driver\nremoval, the generic chips are not freed and the chained handlers are\nnot removed.\n\nThe generic chips remain on the global gc_list and may later be accessed by\ngeneric interrupt chip suspend, resume, or shutdown callbacks after the\ndriver has been removed, potentially resulting in a use-after-free and\nkernel crash.\n\nThe chained handlers that were installed in probe for peripheral and\nsyswake interrupts are also left dangling, which can lead to spurious\ninterrupts accessing freed memory.\n\nFix these issues by:\n\n  - Setting IRQ_DOMAIN_FLAG_DESTROY_GC flag in domain-\u003eflags, so the\n    core code automatically removes generic chips when irq_domain_remove()\n    is called\n\n  - Clearing all chained handlers with NULL in pdc_intc_remove()"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-19T12:02:05.783Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8176773dfceae7978b01c20b233693e072053700"
        },
        {
          "url": "https://git.kernel.org/stable/c/c2c7733101bb8c0b29ac9ee41073eaf602821a59"
        },
        {
          "url": "https://git.kernel.org/stable/c/83d7ec14b0938ad8cae008058fd6f912f4a9a312"
        },
        {
          "url": "https://git.kernel.org/stable/c/44567537a2623dcd2b4018a7f043cf8069579e5d"
        },
        {
          "url": "https://git.kernel.org/stable/c/41826e5297e67cd96a0a46fde06a5069a8ce436a"
        },
        {
          "url": "https://git.kernel.org/stable/c/b3a3831b2eb884641906fc5e46207b205b6aea13"
        },
        {
          "url": "https://git.kernel.org/stable/c/0405a65e4ebd9eac13a765f9f02ac05851ca5421"
        },
        {
          "url": "https://git.kernel.org/stable/c/37738fdf2ab1e504d1c63ce5bc0aeb6452d8f057"
        }
      ],
      "title": "irqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-63798",
    "datePublished": "2026-07-19T12:02:05.783Z",
    "dateReserved": "2026-07-19T07:54:57.012Z",
    "dateUpdated": "2026-07-19T12:02:05.783Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-63798",
      "date": "2026-07-21",
      "epss": "0.00177",
      "percentile": "0.07473"
    },
    "microsoft_vex": {
      "current_release_date": "2026-07-20T14:45:16.000Z",
      "cve": "CVE-2026-63798",
      "id": "msrc_CVE-2026-63798",
      "initial_release_date": "2026-07-20T01:06:17.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "irqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-63798.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-63798\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-19T12:16:52.303\",\"lastModified\":\"2026-07-19T12:16:52.303\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nirqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove\\n\\nThe driver allocates domain generic chips using\\nirq_alloc_domain_generic_chips() during probe and sets up chained\\nhandlers using irq_set_chained_handler_and_data(). However, on driver\\nremoval, the generic chips are not freed and the chained handlers are\\nnot removed.\\n\\nThe generic chips remain on the global gc_list and may later be accessed by\\ngeneric interrupt chip suspend, resume, or shutdown callbacks after the\\ndriver has been removed, potentially resulting in a use-after-free and\\nkernel crash.\\n\\nThe chained handlers that were installed in probe for peripheral and\\nsyswake interrupts are also left dangling, which can lead to spurious\\ninterrupts accessing freed memory.\\n\\nFix these issues by:\\n\\n  - Setting IRQ_DOMAIN_FLAG_DESTROY_GC flag in domain-\u003eflags, so the\\n    core code automatically removes generic chips when irq_domain_remove()\\n    is called\\n\\n  - Clearing all chained handlers with NULL in pdc_intc_remove()\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/irqchip/irq-imgpdc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"8176773dfceae7978b01c20b233693e072053700\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"c2c7733101bb8c0b29ac9ee41073eaf602821a59\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"83d7ec14b0938ad8cae008058fd6f912f4a9a312\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"44567537a2623dcd2b4018a7f043cf8069579e5d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"41826e5297e67cd96a0a46fde06a5069a8ce436a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"b3a3831b2eb884641906fc5e46207b205b6aea13\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"0405a65e4ebd9eac13a765f9f02ac05851ca5421\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b6ef9161e43ad58c3824bd76dc87716276f0cd70\",\"lessThan\":\"37738fdf2ab1e504d1c63ce5bc0aeb6452d8f057\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/irqchip/irq-imgpdc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3.12\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"3.12\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.260\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.211\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.177\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.144\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.95\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.38\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.3\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0405a65e4ebd9eac13a765f9f02ac05851ca5421\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/37738fdf2ab1e504d1c63ce5bc0aeb6452d8f057\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/41826e5297e67cd96a0a46fde06a5069a8ce436a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/44567537a2623dcd2b4018a7f043cf8069579e5d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8176773dfceae7978b01c20b233693e072053700\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/83d7ec14b0938ad8cae008058fd6f912f4a9a312\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b3a3831b2eb884641906fc5e46207b205b6aea13\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c2c7733101bb8c0b29ac9ee41073eaf602821a59\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-07-21T09:07:39+00:00",
      "cve": "CVE-2026-63798",
      "id": "CVE-2026-63798",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: irqchip/imgpdc: Fix resource leak, add missing chained handler cleanup on remove",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-63798.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…