{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-68144",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-68144"
  ],
  "published": "2026-08-10T12:08:00Z",
  "summary": "phonet: pep: fix use-after-free in pep_get_sb()",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nphonet: pep: fix use-after-free in pep_get_sb()\n\npep_get_sb() doesn't consider that pskb_may_pull() might have relocated\nthe skb data, and continue to access the older pointer, causing UAF.\n\nReproduced under KASAN:\n\n  BUG: KASAN: slab-use-after-free in pep_get_sb+0x234/0x3b0\n  Read of size 1 at addr ff11000105510f50 by task repro/157\n   pep_get_sb+0x234/0x3b0\n   pipe_handler_do_rcv+0x5f7/0xa10\n   pep_do_rcv+0x203/0x410\n   __sk_receive_skb+0x471/0x4a0\n   phonet_rcv+0x5b3/0x6c0\n   __netif_receive_skb+0xcc/0x1d0\n\nRefetch the header with skb_header_pointer() after pskb_may_pull(), so\nthe possibly stale pointer is no longer dereferenced. There are better\nways to solve this, but, this is the less instrusive one.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/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.183",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-68144"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c4a52cb4da8d57d060b1d52085d25147a238dac2"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/df198743859fefba2f824115f8151dd62d7ad6d8"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/1d81e19fc57a5ee55b4497d01bc0510d76fb9578"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8d931a75a38b9bb584a4071f5ebbd52755fc35ee"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/17f78c0c0d41d738ee236eb6e841e39395188054"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a48a889b60f73edb0399a8b08284a2ab0bd0295f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/25e3641beb51333bfbb155af2fd2573a61113af2"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/0f71f852a96af9685858ce59fda34ecbf85c283d"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-19T16:47:12Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 9.8,
      "cvss_v3_severity": "Critical",
      "scenario": "AV:N - The bug is hit in phonet_rcv() via __netif_receive_skb() when processing inbound Phonet pipe packets on a netdev; on modem-equipped phones this path is reachable from the cellular/BT-facing modem link without local access.\nAC:L - The attacker fully controls crafted TLV sb_len values in Phonet pipe messages to deterministically force pskb_may_pull() skb head reallocation; no race or victim-specific state beyond an existing/connecting pipe socket is required.\nPR:N - Exploitation requires only delivering a malformed Phonet packet to a listening/connecting pipe endpoint; phonet_rcv() performs no authentication or capability checks before delivering to pep_do_rcv() and pep_get_sb().\nUI:N - No end-user action is needed; triggering only requires a background phonet pipe listener or an in-progress connect/accept on affected Nokia/modem platforms where phonet daemons run continuously.\nS:U - Impact is confined to kernel memory/process integrity on the affected host; successful exploitation yields local privilege escalation within the same kernel security domain, not a cross-VM or cross-container boundary escape.\nC:H - Confirmed slab use-after-free read in pep_get_sb(); stale post-realloc pointer dereference can leak adjacent heap contents and is a standard primitive for arbitrary kernel memory disclosure.\nI:H - Use-after-free on skb header memory enables heap grooming and control of freed object contents, providing a well-established path to arbitrary kernel writes and code execution beyond the immediate one-byte read.\nA:H - KASAN reproduced a slab use-after-free oops in pep_get_sb() during packet receive; even without full exploit development, malformed Phonet pipe packets can reliably panic or hang the kernel on affected systems."
    }
  }
}
