{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2025-71136",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2025-71136"
  ],
  "published": "2026-01-14T15:08:11Z",
  "summary": "media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()\n\nIt's possible for cp_read() and hdmi_read() to return -EIO. Those\nvalues are further used as indexes for accessing arrays.\n\nFix that by checking return values where it's needed.\n\nFound by Linux Verification Center (linuxtesting.org) with SVACE.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.160",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2025-71136"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/f81ee181cb036d046340c213091b69d9a8701a76"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/f913b9a2ccd6114b206b9e91dae5e3dc13a415a0"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d6a22a4a96e4dfe6897cb3532d2b3016d87706f0"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a73881ae085db5702d8b13e2fc9f78d51c723d3f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/60dde0960e3ead8a9569f6c494d90d0232ac0983"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/b693d48a6ed0cd09171103ad418e4a693203d6e4"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8163419e3e05d71dcfa8fb49c8fdf8d76908fe51"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T12:19:11Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.1,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - A local attacker reaches the flaw through VIDIOC_LOG_STATUS on the Cobalt /dev/video or exposed V4L2 subdevice node, which forwards directly to adv7842_cp_log_status(). An HDMI source cannot independently invoke this callback.\nAC:L - Once an I2C read returns -EIO, shifting the result produces index -1 and one status ioctl deterministically triggers the under-read. The ioctl can be repeated during transient or persistent bus faults, with no race or heap grooming required.\nPR:L - The ioctl path contains no capability or administrative privilege check. An unprivileged user or service with ordinary video-device access can invoke it.\nUI:N - The attacker directly issues the ioctl and does not require another user to open media, approve a request, or perform any other action.\nS:U - The vulnerable driver and the affected kernel memory belong to the same host security authority. No guest-host, IOMMU, or other scope boundary is crossed.\nC:H - The index under-read obtains a pointer-sized value preceding a static array, which printk then follows as a string pointer until a NUL byte. This is not a strictly bounded small read and can expose kernel memory through the log.\nI:N - The vulnerable operations only read outside static pointer arrays and pass the resulting values to logging code. They provide no memory-write or control-flow modification primitive.\nA:H - If the preceding word is not a valid NUL-terminated kernel pointer, printk's %s handling can fault and cause a kernel oops. Systems configured with panic-on-oops can consequently panic or reboot."
    }
  }
}
