{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2023-54313",
  "modified": "2026-10-07T17:22:01Z",
  "upstream": [
    "CVE-2023-54313"
  ],
  "published": "2025-12-30T12:24:11Z",
  "summary": "ovl: fix null pointer dereference in ovl_get_acl_rcu()",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\novl: fix null pointer dereference in ovl_get_acl_rcu()\n\nFollowing process:\n         P1                     P2\n path_openat\n  link_path_walk\n   may_lookup\n    inode_permission(rcu)\n     ovl_permission\n      acl_permission_check\n       check_acl\n        get_cached_acl_rcu\n\t ovl_get_inode_acl\n\t  realinode = ovl_inode_real(ovl_inode)\n\t                      drop_cache\n\t\t               __dentry_kill(ovl_dentry)\n\t\t\t\tiput(ovl_inode)\n\t\t                 ovl_destroy_inode(ovl_inode)\n\t\t                  dput(oi->__upperdentry)\n\t\t                   dentry_kill(upperdentry)\n\t\t                    dentry_unlink_inode\n\t\t\t\t     upperdentry->d_inode = NULL\n\t    ovl_inode_upper\n\t     upperdentry = ovl_i_dentry_upper(ovl_inode)\n\t     d_inode(upperdentry) // returns NULL\n\t  IS_POSIXACL(realinode) // NULL pointer dereference\n, will trigger an null pointer dereference at realinode:\n  [  205.472797] BUG: kernel NULL pointer dereference, address:\n                 0000000000000028\n  [  205.476701] CPU: 2 PID: 2713 Comm: ls Not tainted\n                 6.3.0-12064-g2edfa098e750-dirty #1216\n  [  205.478754] RIP: 0010:do_ovl_get_acl+0x5d/0x300\n  [  205.489584] Call Trace:\n  [  205.489812]  <TASK>\n  [  205.490014]  ovl_get_inode_acl+0x26/0x30\n  [  205.490466]  get_cached_acl_rcu+0x61/0xa0\n  [  205.490908]  generic_permission+0x1bf/0x4e0\n  [  205.491447]  ovl_permission+0x79/0x1b0\n  [  205.491917]  inode_permission+0x15e/0x2c0\n  [  205.492425]  link_path_walk+0x115/0x550\n  [  205.493311]  path_lookupat.isra.0+0xb2/0x200\n  [  205.493803]  filename_lookup+0xda/0x240\n  [  205.495747]  vfs_fstatat+0x7b/0xb0\n\nFetch a reproducer in [Link].\n\nUse the helper ovl_i_path_realinode() to get realinode and then do\nnon-nullptr checking.",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.21-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v6",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v7",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v7l",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v8",
            "binary_version": "1:6.1.21-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.21-1+rpt1": {
            "linux_commit": "0afb5e98488aed7017b9bf321b575d0177feb7ed",
            "upstream_version": "6.1.21",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.40"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2023-54313"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d97481c7b2739a704848bb3c01f224dc71bdf78e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c4a5fb1ae5d3f02d3227afde2b9339994389463d"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d536af163c53ce9f9bcfe87d2e9946f06f1a7ea4"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/f4e19e595cc2e76a8a58413eb19d3d9c51328b53"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-05-12T04:54:46Z"
  }
}
