{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "a176ac5e701f1ba30843c0d7e0663a761bf9a61a"
            },
            {
              "fixed": "63d758d2f9dba836d5ae597d317cde522e817cf9"
            },
            {
              "fixed": "b694ba0a5526a69f78a6924982b1553154ccfd73"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "7.0.0"
            },
            {
              "fixed": "7.2.5"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89867.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: chips-media: wave5: Defer job_finish() only when a DEC_PIC was queued\n\nDecoder instances sharing a VPU also share one v4l2_m2m job slot, released\nwhen the running context calls v4l2_m2m_job_finish(). While draining,\ndevice_run() defers job_finish() once EOS is sent (sent_eos), expecting a\nlater finish_decode() (from a DEC_PIC completion IRQ) to release the slot.\n\nBut the m2m core checks job_ready() only when a job is queued, not when it\nis dispatched. A job queued while draining can run after finish_decode()\nhas already moved the instance to STOP and sent EOS. device_run() then runs\nin STOP, issues no DEC_PIC, yet still skips job_finish() - so no IRQ, no\nfinish_decode(), and the shared slot is leaked, stalling every instance.\nWith several v4l2h264dec instances in parallel, GStreamer hangs at EOS.\n\nTrack whether the run actually queued a DEC_PIC (cmd_issued) and defer\njob_finish() only then. Otherwise finish the job immediately",
  "id": "CVE-2026-89867",
  "modified": "2026-09-18T03:30:22.116321282Z",
  "published": "2026-09-16T10:31:37.185Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/63d758d2f9dba836d5ae597d317cde522e817cf9"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b694ba0a5526a69f78a6924982b1553154ccfd73"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89867.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-89867"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "media: chips-media: wave5: Defer job_finish() only when a DEC_PIC was queued"
}