CVE-2023-54062 (GCVE-0-2023-54062)
Vulnerability from cvelistv5
Published
2025-12-24 12:23
Modified
2026-10-15 21:41
Summary
In the Linux kernel, the following vulnerability has been resolved: ext4: fix invalid free tracking in ext4_xattr_move_to_block() In ext4_xattr_move_to_block(), the value of the extended attribute which we need to move to an external block may be allocated by kvmalloc() if the value is stored in an external inode. So at the end of the function the code tried to check if this was the case by testing entry->e_value_inum. However, at this point, the pointer to the xattr entry is no longer valid, because it was removed from the original location where it had been stored. So we could end up calling kvfree() on a pointer which was not allocated by kvmalloc(); or we could also potentially leak memory by not freeing the buffer when it should be freed. Fix this by storing whether it should be freed in a separate variable.
Impacted products
Vendor Product Version
Linux Linux Version: c7851208abffe5ae4deb01cf48763911dc14fc67
Version: f5cdc6a7339f250d44d4d469ed7a474ac0d6c7a7
Version: 3b28c799a1334adb5a19f42f03abe0d8cbb05938
Version: d738789ae9ec47d3458a008788f3cdc862ebf0cb
Version: a6744e14ce7045ab1a728bde9595f62fbd39f1d2
Version: 8b6d06b3be7648b3b0f428558293ddf6e2cb94bf
Version: d2efaf8c870c7067b8d1779773134f3481cd8f68
Version: 1e9d62d252812575ded7c620d8fc67c32ff06c16
Version: 1e9d62d252812575ded7c620d8fc67c32ff06c16
Version: 4.14.308   ≤
Version: 4.19.276   ≤
Version: 5.4.235   ≤
Version: 5.10.173   ≤
Version: 5.15.99   ≤
Version: 6.1.16   ≤
Version: 6.2.3   ≤
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2023-54062",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-15T21:38:11.218475Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-15T21:41:38.822Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/ext4/xattr.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "76887be2a96193cd11be818551b8934ecdb3123f",
              "status": "affected",
              "version": "c7851208abffe5ae4deb01cf48763911dc14fc67",
              "versionType": "git"
            },
            {
              "lessThan": "f30f3391d089dc91aef91d08f4b04a6c0df2b067",
              "status": "affected",
              "version": "f5cdc6a7339f250d44d4d469ed7a474ac0d6c7a7",
              "versionType": "git"
            },
            {
              "lessThan": "ba04d6af5ac440a6d5a2d35dc1d8e2cb0323550a",
              "status": "affected",
              "version": "3b28c799a1334adb5a19f42f03abe0d8cbb05938",
              "versionType": "git"
            },
            {
              "lessThan": "1a8822343e67432b658145d2760a524c884da9d4",
              "status": "affected",
              "version": "d738789ae9ec47d3458a008788f3cdc862ebf0cb",
              "versionType": "git"
            },
            {
              "lessThan": "8beaa3cb293a8f7bacf711cf52201d59859dbc40",
              "status": "affected",
              "version": "a6744e14ce7045ab1a728bde9595f62fbd39f1d2",
              "versionType": "git"
            },
            {
              "lessThan": "c5fa4eedddd1c8342ce533cb401c0e693e55b4e3",
              "status": "affected",
              "version": "8b6d06b3be7648b3b0f428558293ddf6e2cb94bf",
              "versionType": "git"
            },
            {
              "lessThan": "a18670395e5f28acddeca037c5e4bd2ea961b70a",
              "status": "affected",
              "version": "d2efaf8c870c7067b8d1779773134f3481cd8f68",
              "versionType": "git"
            },
            {
              "lessThan": "b2fab1807d26acd1c6115b95b5eddd697d84751b",
              "status": "affected",
              "version": "1e9d62d252812575ded7c620d8fc67c32ff06c16",
              "versionType": "git"
            },
            {
              "lessThan": "b87c7cdf2bed4928b899e1ce91ef0d147017ba45",
              "status": "affected",
              "version": "1e9d62d252812575ded7c620d8fc67c32ff06c16",
              "versionType": "git"
            },
            {
              "lessThan": "4.14.315",
              "status": "affected",
              "version": "4.14.308",
              "versionType": "semver"
            },
            {
              "lessThan": "4.19.283",
              "status": "affected",
              "version": "4.19.276",
              "versionType": "semver"
            },
            {
              "lessThan": "5.4.243",
              "status": "affected",
              "version": "5.4.235",
              "versionType": "semver"
            },
            {
              "lessThan": "5.10.180",
              "status": "affected",
              "version": "5.10.173",
              "versionType": "semver"
            },
            {
              "lessThan": "5.15.112",
              "status": "affected",
              "version": "5.15.99",
              "versionType": "semver"
            },
            {
              "lessThan": "6.1.29",
              "status": "affected",
              "version": "6.1.16",
              "versionType": "semver"
            },
            {
              "lessThan": "6.2.16",
              "status": "affected",
              "version": "6.2.3",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ext4/xattr.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.315",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.283",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.243",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.180",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.112",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.29",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.16",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.3.*",
              "status": "unaffected",
              "version": "6.3.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.4",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.315",
                  "versionStartIncluding": "4.14.308",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.283",
                  "versionStartIncluding": "4.19.276",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.243",
                  "versionStartIncluding": "5.4.235",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.180",
                  "versionStartIncluding": "5.10.173",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.112",
                  "versionStartIncluding": "5.15.99",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.29",
                  "versionStartIncluding": "6.1.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.16",
                  "versionStartIncluding": "6.2.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3.3",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\next4: fix invalid free tracking in ext4_xattr_move_to_block()\n\nIn ext4_xattr_move_to_block(), the value of the extended attribute\nwhich we need to move to an external block may be allocated by\nkvmalloc() if the value is stored in an external inode.  So at the end\nof the function the code tried to check if this was the case by\ntesting entry-\u003ee_value_inum.\n\nHowever, at this point, the pointer to the xattr entry is no longer\nvalid, because it was removed from the original location where it had\nbeen stored.  So we could end up calling kvfree() on a pointer which\nwas not allocated by kvmalloc(); or we could also potentially leak\nmemory by not freeing the buffer when it should be freed.  Fix this by\nstoring whether it should be freed in a separate variable."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached through local filesystem operations \u2014 `setxattr()` plus any inode-dirtying syscall on a mounted ext4 volume, or by mounting a crafted ext4 image. No network or remote peer is involved.\nAC:L - No race and no memory-layout luck is needed; the invalid free happens deterministically whenever the moved inline-value xattr is followed by an EA-inode-backed entry, and the attacker controls both the entry ordering (name-sorted) and the sizes that drive `ext4_xattr_make_inode_space()`\u0027s selection, or controls everything outright via a crafted image.\nPR:L - An ordinary unprivileged user only needs a file they own to set `user.*` xattrs on and then dirty the inode; no capability, and `ext4_expand_extra_isize_ea()` runs from the ordinary `ext4_mark_inode_dirty()` path.\nUI:N - In the local-user scenario the attacker performs every step themselves \u2014 setxattr, then touch/write to dirty the inode \u2014 with no victim action required.\nS:U - The corruption stays within the kernel\u0027s own security authority; there is no VM, IOMMU, or sandbox boundary crossed.\nC:H - `__free_pages()` on a still-referenced page-cache page underflows its refcount, so the page is recycled while ext4 keeps reading the inode table through the stale `buffer_head`, disclosing whatever kernel data now occupies that page; the `WARN` also leaks a kernel pointer.\nI:H - After the premature page free, ext4 continues writing inode and xattr bytes into the reallocated page through the stale `buffer_head`, giving a page-granularity kernel write primitive suitable for privilege escalation; slab/memcg accounting is corrupted as well.\nA:H - On 4.19/5.10-era kernels `kfree()` on the non-slab pointer hits `BUG_ON(!PageCompound(page))` for an immediate panic; on 6.x it produces a `WARN_ON_ONCE` (panic under `panic_on_warn`) plus a page refcount underflow that leads to a later oops, and the inverse case leaks memory on every attempt."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:16:50.491Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/76887be2a96193cd11be818551b8934ecdb3123f"
        },
        {
          "url": "https://git.kernel.org/stable/c/f30f3391d089dc91aef91d08f4b04a6c0df2b067"
        },
        {
          "url": "https://git.kernel.org/stable/c/ba04d6af5ac440a6d5a2d35dc1d8e2cb0323550a"
        },
        {
          "url": "https://git.kernel.org/stable/c/1a8822343e67432b658145d2760a524c884da9d4"
        },
        {
          "url": "https://git.kernel.org/stable/c/8beaa3cb293a8f7bacf711cf52201d59859dbc40"
        },
        {
          "url": "https://git.kernel.org/stable/c/c5fa4eedddd1c8342ce533cb401c0e693e55b4e3"
        },
        {
          "url": "https://git.kernel.org/stable/c/a18670395e5f28acddeca037c5e4bd2ea961b70a"
        },
        {
          "url": "https://git.kernel.org/stable/c/b2fab1807d26acd1c6115b95b5eddd697d84751b"
        },
        {
          "url": "https://git.kernel.org/stable/c/b87c7cdf2bed4928b899e1ce91ef0d147017ba45"
        }
      ],
      "title": "ext4: fix invalid free tracking in ext4_xattr_move_to_block()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54062",
    "datePublished": "2025-12-24T12:23:08.649Z",
    "dateReserved": "2025-12-24T12:21:05.092Z",
    "dateUpdated": "2026-10-15T21:41:38.822Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2023-54062\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-15T21:38:11.218475Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-15T21:38:12.039Z\"}}], \"cna\": {\"title\": \"ext4: fix invalid free tracking in ext4_xattr_move_to_block()\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The bug is reached through local filesystem operations \\u2014 `setxattr()` plus any inode-dirtying syscall on a mounted ext4 volume, or by mounting a crafted ext4 image. No network or remote peer is involved.\\nAC:L - No race and no memory-layout luck is needed; the invalid free happens deterministically whenever the moved inline-value xattr is followed by an EA-inode-backed entry, and the attacker controls both the entry ordering (name-sorted) and the sizes that drive `ext4_xattr_make_inode_space()`\u0027s selection, or controls everything outright via a crafted image.\\nPR:L - An ordinary unprivileged user only needs a file they own to set `user.*` xattrs on and then dirty the inode; no capability, and `ext4_expand_extra_isize_ea()` runs from the ordinary `ext4_mark_inode_dirty()` path.\\nUI:N - In the local-user scenario the attacker performs every step themselves \\u2014 setxattr, then touch/write to dirty the inode \\u2014 with no victim action required.\\nS:U - The corruption stays within the kernel\u0027s own security authority; there is no VM, IOMMU, or sandbox boundary crossed.\\nC:H - `__free_pages()` on a still-referenced page-cache page underflows its refcount, so the page is recycled while ext4 keeps reading the inode table through the stale `buffer_head`, disclosing whatever kernel data now occupies that page; the `WARN` also leaks a kernel pointer.\\nI:H - After the premature page free, ext4 continues writing inode and xattr bytes into the reallocated page through the stale `buffer_head`, giving a page-granularity kernel write primitive suitable for privilege escalation; slab/memcg accounting is corrupted as well.\\nA:H - On 4.19/5.10-era kernels `kfree()` on the non-slab pointer hits `BUG_ON(!PageCompound(page))` for an immediate panic; on 6.x it produces a `WARN_ON_ONCE` (panic under `panic_on_warn`) plus a page refcount underflow that leads to a later oops, and the inverse case leaks memory on every attempt.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"c7851208abffe5ae4deb01cf48763911dc14fc67\", \"lessThan\": \"76887be2a96193cd11be818551b8934ecdb3123f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"f5cdc6a7339f250d44d4d469ed7a474ac0d6c7a7\", \"lessThan\": \"f30f3391d089dc91aef91d08f4b04a6c0df2b067\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"3b28c799a1334adb5a19f42f03abe0d8cbb05938\", \"lessThan\": \"ba04d6af5ac440a6d5a2d35dc1d8e2cb0323550a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"d738789ae9ec47d3458a008788f3cdc862ebf0cb\", \"lessThan\": \"1a8822343e67432b658145d2760a524c884da9d4\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a6744e14ce7045ab1a728bde9595f62fbd39f1d2\", \"lessThan\": \"8beaa3cb293a8f7bacf711cf52201d59859dbc40\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"8b6d06b3be7648b3b0f428558293ddf6e2cb94bf\", \"lessThan\": \"c5fa4eedddd1c8342ce533cb401c0e693e55b4e3\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"d2efaf8c870c7067b8d1779773134f3481cd8f68\", \"lessThan\": \"a18670395e5f28acddeca037c5e4bd2ea961b70a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"1e9d62d252812575ded7c620d8fc67c32ff06c16\", \"lessThan\": \"b2fab1807d26acd1c6115b95b5eddd697d84751b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"1e9d62d252812575ded7c620d8fc67c32ff06c16\", \"lessThan\": \"b87c7cdf2bed4928b899e1ce91ef0d147017ba45\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"4.14.308\", \"lessThan\": \"4.14.315\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"4.19.276\", \"lessThan\": \"4.19.283\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.4.235\", \"lessThan\": \"5.4.243\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.10.173\", \"lessThan\": \"5.10.180\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.15.99\", \"lessThan\": \"5.15.112\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"6.1.16\", \"lessThan\": \"6.1.29\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"6.2.3\", \"lessThan\": \"6.2.16\", \"versionType\": \"semver\"}], \"programFiles\": [\"fs/ext4/xattr.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"6.3\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.14.315\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.14.*\"}, {\"status\": \"unaffected\", \"version\": \"4.19.283\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.243\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.180\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.112\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.29\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.2.16\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.2.*\"}, {\"status\": \"unaffected\", \"version\": \"6.3.3\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.3.*\"}, {\"status\": \"unaffected\", \"version\": \"6.4\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/ext4/xattr.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/76887be2a96193cd11be818551b8934ecdb3123f\"}, {\"url\": \"https://git.kernel.org/stable/c/f30f3391d089dc91aef91d08f4b04a6c0df2b067\"}, {\"url\": \"https://git.kernel.org/stable/c/ba04d6af5ac440a6d5a2d35dc1d8e2cb0323550a\"}, {\"url\": \"https://git.kernel.org/stable/c/1a8822343e67432b658145d2760a524c884da9d4\"}, {\"url\": \"https://git.kernel.org/stable/c/8beaa3cb293a8f7bacf711cf52201d59859dbc40\"}, {\"url\": \"https://git.kernel.org/stable/c/c5fa4eedddd1c8342ce533cb401c0e693e55b4e3\"}, {\"url\": \"https://git.kernel.org/stable/c/a18670395e5f28acddeca037c5e4bd2ea961b70a\"}, {\"url\": \"https://git.kernel.org/stable/c/b2fab1807d26acd1c6115b95b5eddd697d84751b\"}, {\"url\": \"https://git.kernel.org/stable/c/b87c7cdf2bed4928b899e1ce91ef0d147017ba45\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\next4: fix invalid free tracking in ext4_xattr_move_to_block()\\n\\nIn ext4_xattr_move_to_block(), the value of the extended attribute\\nwhich we need to move to an external block may be allocated by\\nkvmalloc() if the value is stored in an external inode.  So at the end\\nof the function the code tried to check if this was the case by\\ntesting entry-\u003ee_value_inum.\\n\\nHowever, at this point, the pointer to the xattr entry is no longer\\nvalid, because it was removed from the original location where it had\\nbeen stored.  So we could end up calling kvfree() on a pointer which\\nwas not allocated by kvmalloc(); or we could also potentially leak\\nmemory by not freeing the buffer when it should be freed.  Fix this by\\nstoring whether it should be freed in a separate variable.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.14.315\", \"versionStartIncluding\": \"4.14.308\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.283\", \"versionStartIncluding\": \"4.19.276\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.243\", \"versionStartIncluding\": \"5.4.235\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.180\", \"versionStartIncluding\": \"5.10.173\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.112\", \"versionStartIncluding\": \"5.15.99\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.29\", \"versionStartIncluding\": \"6.1.16\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.2.16\", \"versionStartIncluding\": \"6.2.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.3.3\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.4\", \"versionStartIncluding\": \"6.3\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T09:16:50.491Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2023-54062\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-10-15T21:41:38.822Z\", \"dateReserved\": \"2025-12-24T12:21:05.092Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-12-24T12:23:08.649Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…