GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2023-54313 (GCVE-0-2023-54313)

Vulnerability from cvelistv5 – Published: 2025-12-30 12:23 – Updated: 2026-05-11 19:59
VLAI
Title
ovl: fix null pointer dereference in ovl_get_acl_rcu()
Summary
In the Linux kernel, the following vulnerability has been resolved: ovl: fix null pointer dereference in ovl_get_acl_rcu() Following process: P1 P2 path_openat link_path_walk may_lookup inode_permission(rcu) ovl_permission acl_permission_check check_acl get_cached_acl_rcu ovl_get_inode_acl realinode = ovl_inode_real(ovl_inode) drop_cache __dentry_kill(ovl_dentry) iput(ovl_inode) ovl_destroy_inode(ovl_inode) dput(oi->__upperdentry) dentry_kill(upperdentry) dentry_unlink_inode upperdentry->d_inode = NULL ovl_inode_upper upperdentry = ovl_i_dentry_upper(ovl_inode) d_inode(upperdentry) // returns NULL IS_POSIXACL(realinode) // NULL pointer dereference , will trigger an null pointer dereference at realinode: [ 205.472797] BUG: kernel NULL pointer dereference, address: 0000000000000028 [ 205.476701] CPU: 2 PID: 2713 Comm: ls Not tainted 6.3.0-12064-g2edfa098e750-dirty #1216 [ 205.478754] RIP: 0010:do_ovl_get_acl+0x5d/0x300 [ 205.489584] Call Trace: [ 205.489812] <TASK> [ 205.490014] ovl_get_inode_acl+0x26/0x30 [ 205.490466] get_cached_acl_rcu+0x61/0xa0 [ 205.490908] generic_permission+0x1bf/0x4e0 [ 205.491447] ovl_permission+0x79/0x1b0 [ 205.491917] inode_permission+0x15e/0x2c0 [ 205.492425] link_path_walk+0x115/0x550 [ 205.493311] path_lookupat.isra.0+0xb2/0x200 [ 205.493803] filename_lookup+0xda/0x240 [ 205.495747] vfs_fstatat+0x7b/0xb0 Fetch a reproducer in [Link]. Use the helper ovl_i_path_realinode() to get realinode and then do non-nullptr checking.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 332f606b32b6291a944c8cf23b91f53a6e676525 , < d97481c7b2739a704848bb3c01f224dc71bdf78e (git)
Affected: 332f606b32b6291a944c8cf23b91f53a6e676525 , < c4a5fb1ae5d3f02d3227afde2b9339994389463d (git)
Affected: 332f606b32b6291a944c8cf23b91f53a6e676525 , < d536af163c53ce9f9bcfe87d2e9946f06f1a7ea4 (git)
Affected: 332f606b32b6291a944c8cf23b91f53a6e676525 , < f4e19e595cc2e76a8a58413eb19d3d9c51328b53 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.15
Unaffected: 0 , < 5.15 (semver)
Unaffected: 5.15.121 , ≤ 5.15.* (semver)
Unaffected: 6.1.40 , ≤ 6.1.* (semver)
Unaffected: 6.4.4 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/overlayfs/inode.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d97481c7b2739a704848bb3c01f224dc71bdf78e",
              "status": "affected",
              "version": "332f606b32b6291a944c8cf23b91f53a6e676525",
              "versionType": "git"
            },
            {
              "lessThan": "c4a5fb1ae5d3f02d3227afde2b9339994389463d",
              "status": "affected",
              "version": "332f606b32b6291a944c8cf23b91f53a6e676525",
              "versionType": "git"
            },
            {
              "lessThan": "d536af163c53ce9f9bcfe87d2e9946f06f1a7ea4",
              "status": "affected",
              "version": "332f606b32b6291a944c8cf23b91f53a6e676525",
              "versionType": "git"
            },
            {
              "lessThan": "f4e19e595cc2e76a8a58413eb19d3d9c51328b53",
              "status": "affected",
              "version": "332f606b32b6291a944c8cf23b91f53a6e676525",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/overlayfs/inode.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.121",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.121",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.40",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.4",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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-\u003e__upperdentry)\n\t\t                   dentry_kill(upperdentry)\n\t\t                    dentry_unlink_inode\n\t\t\t\t     upperdentry-\u003ed_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]  \u003cTASK\u003e\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."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T19:59:33.173Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d97481c7b2739a704848bb3c01f224dc71bdf78e"
        },
        {
          "url": "https://git.kernel.org/stable/c/c4a5fb1ae5d3f02d3227afde2b9339994389463d"
        },
        {
          "url": "https://git.kernel.org/stable/c/d536af163c53ce9f9bcfe87d2e9946f06f1a7ea4"
        },
        {
          "url": "https://git.kernel.org/stable/c/f4e19e595cc2e76a8a58413eb19d3d9c51328b53"
        }
      ],
      "title": "ovl: fix null pointer dereference in ovl_get_acl_rcu()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54313",
    "datePublished": "2025-12-30T12:23:44.484Z",
    "dateReserved": "2025-12-30T12:06:44.531Z",
    "dateUpdated": "2026-05-11T19:59:33.173Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-54313",
      "date": "2026-09-14",
      "epss": "0.0019",
      "percentile": "0.08751"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-54313\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-30T13:16:20.540\",\"lastModified\":\"2026-06-17T06:47:12.497\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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-\u003e__upperdentry)\\n\\t\\t                   dentry_kill(upperdentry)\\n\\t\\t                    dentry_unlink_inode\\n\\t\\t\\t\\t     upperdentry-\u003ed_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]  \u003cTASK\u003e\\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.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\novl: corrige la desreferencia de puntero nulo en ovl_get_acl_rcu()\\n\\nEl siguiente proceso:\\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-\u0026gt;__upperdentry)\\n\\t\\t                   dentry_kill(upperdentry)\\n\\t\\t                    dentry_unlink_inode\\n\\t\\t\\t\\t     upperdentry-\u0026gt;d_inode = NULL\\n\\t    ovl_inode_upper\\n\\t     upperdentry = ovl_i_dentry_upper(ovl_inode)\\n\\t     d_inode(upperdentry) // devuelve NULL\\n\\t  IS_POSIXACL(realinode) // desreferencia de puntero nulo\\n, activar\u00e1 una desreferencia de puntero nulo en realinode:\\n  [  205.472797] BUG: desreferencia de puntero nulo del kernel, direcci\u00f3n:\\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] Traza de llamada:\\n  [  205.489812]  \\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\\nObtenga un reproductor en [Link].\\n\\nUse la funci\u00f3n auxiliar ovl_i_path_realinode() para obtener realinode y luego realice una comprobaci\u00f3n de puntero no nulo.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/overlayfs/inode.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"332f606b32b6291a944c8cf23b91f53a6e676525\",\"lessThan\":\"d97481c7b2739a704848bb3c01f224dc71bdf78e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"332f606b32b6291a944c8cf23b91f53a6e676525\",\"lessThan\":\"c4a5fb1ae5d3f02d3227afde2b9339994389463d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"332f606b32b6291a944c8cf23b91f53a6e676525\",\"lessThan\":\"d536af163c53ce9f9bcfe87d2e9946f06f1a7ea4\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"332f606b32b6291a944c8cf23b91f53a6e676525\",\"lessThan\":\"f4e19e595cc2e76a8a58413eb19d3d9c51328b53\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/overlayfs/inode.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.121\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.40\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.4\",\"lessThanOrEqual\":\"6.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.5\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/c4a5fb1ae5d3f02d3227afde2b9339994389463d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d536af163c53ce9f9bcfe87d2e9946f06f1a7ea4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d97481c7b2739a704848bb3c01f224dc71bdf78e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f4e19e595cc2e76a8a58413eb19d3d9c51328b53\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-06-30T10:26:10+00:00",
      "cve": "CVE-2023-54313",
      "id": "CVE-2023-54313",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "305",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "166",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel OverlayFS: Kernel crash via null pointer dereference in ovl_get_acl_rcu()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-54313.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-09T00:34:09Z",
      "cve": "CVE-2023-54313",
      "id": "CVE-2023-54313",
      "initial_release_date": "2025-12-31T00:26:03Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "423",
      "product_status:recommended": "255",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-54313",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-54313.json",
      "version": "37"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…