{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-97923",
  "modified": "2026-10-07T17:22:01Z",
  "upstream": [
    "CVE-2026-97923"
  ],
  "published": "2026-09-25T10:24:31Z",
  "summary": "tracing: Free histogram the var ref when its initialization fails",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Free histogram the var ref when its initialization fails\n\ncreate_var_ref() allocates a VAR_REF hist_field and then calls\ninit_var_ref() to fill it in. When that fails the field is leaked.\n\ncommit 656fe2ba85e8 (\"tracing: Use hist trigger's var_ref array to destroy\nvar_refs\") made destroy_hist_field() return early for\nHIST_FIELD_FL_VAR_REF, since var refs are freed by walking the trigger's\nvar_refs[] array instead. create_var_ref() adds the field to that array\nonly after init_var_ref() has succeeded, so on this path the field is in\nneither place and nothing frees it. The call was correct when it was\nwritten, before var refs were taken out of destroy_hist_field().\n\ninit_var_ref() cannot free it either. The caller owns the field, so\ninit_var_ref() undoes only its own string allocations and leaves the\nfield alone. Freeing it there would leave create_var_ref() passing freed\nmemory to destroy_hist_field(), which reads its flags.\n\nCall __destroy_hist_field(), which frees the field without consulting\nthe flag.",
  "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.189",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-97923"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/608b7751926ec08fae6a1ac4e7308195da68c362"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/4870f9071c9ea3c1423a07741b85a794db30d672"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/352f84a381e7b4651b30366e93cb858f3fa9c91a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/4924328d6991f25b65bb7c8ff5d56c2a9b254851"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/74375caa20fe5165807b4334c783d1790b01f02a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/222abcbe7866fef04563b6eb89fb21f627dcbc77"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a69baeac38677270656e85753d93856a076dee57"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/516001d53e6b2ea95a251ee2ef54a1a689a3fd58"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-10-03T11:04:09Z"
  }
}
