CVE-2026-89816 (GCVE-0-2026-89816)

Vulnerability from cvelistv5 – Published: 2026-09-16 10:30 – Updated: 2026-09-16 10:30
VLAI
Title
drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used
Summary
In the Linux kernel, the following vulnerability has been resolved: drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used Commit 1c6ceeee6ebb ("drm/atomic: Fix memleak on ERESTARTSYS during non-blocking commits") fixed a very similar issue when the event was allocated by drm_atomic_helper_setup_commit() itself. However, if the event is allocated in prepare_signaling(), it will also be set to NULL in complete_signaling(), which prevents drm_crtc_commit from being put in __drm_atomic_helper_crtc_destroy_state(). Dropping the reference when the event is set to NULL at complete_signaling() fixes the leak. The leak can be reproduced by sending a signal to the thread using DRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic ioctl to block at drm_atomic_helper_wait_for_fences(). It happened both with amdgpu and vkms.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 24835e442f289813aa568d142a755672a740503c , < c5517b71101f61a45144e3cf77a19626355272de (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < 866a04137dac7e82a3848851061ff7ed15c2847e (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < 6a6a7aae4681a20cd32789fea9a487aaafa0e7a3 (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < e2f27b5ed9084feb7bae9ef2bc80de37c92280b1 (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < ff73f5f43d032c3da3c534c517f661e8dfeb358a (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < 66b1b309886337745d395bbc158440ab196305ce (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < e6195b941fdc8d81fc431c9f25539cf6c6234b51 (git)
Affected: 24835e442f289813aa568d142a755672a740503c , < 4d4be202165e832d74849b4a68e289a2a377039c (git)
Affected: c75fe7899538890109aad7bbf92b2f304389e825 (git)
Affected: 2a3241044b1c4ecc13f73b7158881881fb7534a1 (git)
Affected: 4.9.19 , < 4.10 (semver)
Affected: 4.10.7 , < 4.11 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 4.11
Unaffected: 0 , < 4.11 (semver)
Unaffected: 5.10.270 , ≤ 5.10.* (semver)
Unaffected: 5.15.221 , ≤ 5.15.* (semver)
Unaffected: 6.1.188 , ≤ 6.1.* (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.51 , ≤ 6.18.* (semver)
Unaffected: 7.2.5 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/drm_atomic_uapi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c5517b71101f61a45144e3cf77a19626355272de",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "866a04137dac7e82a3848851061ff7ed15c2847e",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "6a6a7aae4681a20cd32789fea9a487aaafa0e7a3",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "e2f27b5ed9084feb7bae9ef2bc80de37c92280b1",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "ff73f5f43d032c3da3c534c517f661e8dfeb358a",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "66b1b309886337745d395bbc158440ab196305ce",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "e6195b941fdc8d81fc431c9f25539cf6c6234b51",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "lessThan": "4d4be202165e832d74849b4a68e289a2a377039c",
              "status": "affected",
              "version": "24835e442f289813aa568d142a755672a740503c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c75fe7899538890109aad7bbf92b2f304389e825",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2a3241044b1c4ecc13f73b7158881881fb7534a1",
              "versionType": "git"
            },
            {
              "lessThan": "4.10",
              "status": "affected",
              "version": "4.9.19",
              "versionType": "semver"
            },
            {
              "lessThan": "4.11",
              "status": "affected",
              "version": "4.10.7",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/drm_atomic_uapi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.11"
            },
            {
              "lessThan": "4.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.51",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.270",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.51",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.5",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc2",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.9.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.10.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used\n\nCommit 1c6ceeee6ebb (\"drm/atomic: Fix memleak on ERESTARTSYS during\nnon-blocking commits\") fixed a very similar issue when the event was\nallocated by drm_atomic_helper_setup_commit() itself.\n\nHowever, if the event is allocated in prepare_signaling(), it will also be\nset to NULL in complete_signaling(), which prevents drm_crtc_commit from\nbeing put in __drm_atomic_helper_crtc_destroy_state().\n\nDropping the reference when the event is set to NULL at\ncomplete_signaling() fixes the leak.\n\nThe leak can be reproduced by sending a signal to the thread using\nDRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic\nioctl to block at drm_atomic_helper_wait_for_fences(). It happened both\nwith amdgpu and vkms."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-16T10:30:49.052Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c5517b71101f61a45144e3cf77a19626355272de"
        },
        {
          "url": "https://git.kernel.org/stable/c/866a04137dac7e82a3848851061ff7ed15c2847e"
        },
        {
          "url": "https://git.kernel.org/stable/c/6a6a7aae4681a20cd32789fea9a487aaafa0e7a3"
        },
        {
          "url": "https://git.kernel.org/stable/c/e2f27b5ed9084feb7bae9ef2bc80de37c92280b1"
        },
        {
          "url": "https://git.kernel.org/stable/c/ff73f5f43d032c3da3c534c517f661e8dfeb358a"
        },
        {
          "url": "https://git.kernel.org/stable/c/66b1b309886337745d395bbc158440ab196305ce"
        },
        {
          "url": "https://git.kernel.org/stable/c/e6195b941fdc8d81fc431c9f25539cf6c6234b51"
        },
        {
          "url": "https://git.kernel.org/stable/c/4d4be202165e832d74849b4a68e289a2a377039c"
        }
      ],
      "title": "drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89816",
    "datePublished": "2026-09-16T10:30:49.052Z",
    "dateReserved": "2026-09-11T19:38:34.768Z",
    "dateUpdated": "2026-09-16T10:30:49.052Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-89816",
      "date": "2026-09-25",
      "epss": "0.0021",
      "percentile": "0.10068"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-24T01:42:28.000Z",
      "cve": "CVE-2026-89816",
      "id": "msrc_CVE-2026-89816",
      "initial_release_date": "2026-09-17T01:08:22.000Z",
      "product_status:fixed": "1",
      "product_status:known_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-89816.json",
      "version": "4"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/gpu/drm/drm_atomic_uapi.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "c5517b71101f61a45144e3cf77a19626355272de",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "866a04137dac7e82a3848851061ff7ed15c2847e",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6a6a7aae4681a20cd32789fea9a487aaafa0e7a3",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e2f27b5ed9084feb7bae9ef2bc80de37c92280b1",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ff73f5f43d032c3da3c534c517f661e8dfeb358a",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "66b1b309886337745d395bbc158440ab196305ce",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e6195b941fdc8d81fc431c9f25539cf6c6234b51",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4d4be202165e832d74849b4a68e289a2a377039c",
                    "status": "affected",
                    "version": "24835e442f289813aa568d142a755672a740503c",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "c75fe7899538890109aad7bbf92b2f304389e825",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "2a3241044b1c4ecc13f73b7158881881fb7534a1",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4.10",
                    "status": "affected",
                    "version": "4.9.19",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "4.11",
                    "status": "affected",
                    "version": "4.10.7",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/gpu/drm/drm_atomic_uapi.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.11"
                  },
                  {
                    "lessThan": "4.11",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.270",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.221",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.188",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.157",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.110",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.51",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used\n\nCommit 1c6ceeee6ebb (\"drm/atomic: Fix memleak on ERESTARTSYS during\nnon-blocking commits\") fixed a very similar issue when the event was\nallocated by drm_atomic_helper_setup_commit() itself.\n\nHowever, if the event is allocated in prepare_signaling(), it will also be\nset to NULL in complete_signaling(), which prevents drm_crtc_commit from\nbeing put in __drm_atomic_helper_crtc_destroy_state().\n\nDropping the reference when the event is set to NULL at\ncomplete_signaling() fixes the leak.\n\nThe leak can be reproduced by sending a signal to the thread using\nDRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic\nioctl to block at drm_atomic_helper_wait_for_fences(). It happened both\nwith amdgpu and vkms."
          }
        ],
        "id": "CVE-2026-89816",
        "lastModified": "2026-09-16T11:16:46.837",
        "metrics": {},
        "published": "2026-09-16T11:16:46.837",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4d4be202165e832d74849b4a68e289a2a377039c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/66b1b309886337745d395bbc158440ab196305ce"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6a6a7aae4681a20cd32789fea9a487aaafa0e7a3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/866a04137dac7e82a3848851061ff7ed15c2847e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c5517b71101f61a45144e3cf77a19626355272de"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e2f27b5ed9084feb7bae9ef2bc80de37c92280b1"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e6195b941fdc8d81fc431c9f25539cf6c6234b51"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ff73f5f43d032c3da3c534c517f661e8dfeb358a"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-09-23T14:09:45+00:00",
      "cve": "CVE-2026-89816",
      "id": "CVE-2026-89816",
      "initial_release_date": "2026-09-16T00:00:00+00:00",
      "product_status:known_affected": "262",
      "product_status:known_not_affected": "14",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89816.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…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…