FKIE_CVE-2023-54087

Vulnerability from fkie_nvd - Published: 2025-12-24 13:16 - Updated: 2026-06-17 06:46
Severity
Summary
In the Linux kernel, the following vulnerability has been resolved: ubi: Fix possible null-ptr-deref in ubi_free_volume() It willl cause null-ptr-deref in the following case: uif_init() ubi_add_volume() cdev_add() -> if it fails, call kill_volumes() device_register() kill_volumes() -> if ubi_add_volume() fails call this function ubi_free_volume() cdev_del() device_unregister() -> trying to delete a not added device, it causes null-ptr-deref So in ubi_free_volume(), it delete devices whether they are added or not, it will causes null-ptr-deref. Handle the error case whlie calling ubi_add_volume() to fix this problem. If add volume fails, set the corresponding vol to null, so it can not be accessed in kill_volumes() and release the resource in ubi_add_volume() error path.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/mtd/ubi/build.c",
            "drivers/mtd/ubi/vmt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5558bcf1c58720ca6e9d6198d921cb3aa337f038",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "45b2c5ca4d2edae70f19fdb086bd927840c4c309",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "234c53e57424992e657e6f4acc00d3df0983176f",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "fcbc795abe7897da4b5d2a6ab5010e36774b00c2",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "5ec4c8aca5a221756a9007deadfea92795319fee",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "2ea7195b195009ecf0046e55361f393ba96d02db",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "9eccdb0760cbcb4427b5303a83a3007de998af51",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            },
            {
              "lessThan": "c15859bfd326c10230f09cb48a17f8a35f190342",
              "status": "affected",
              "version": "801c135ce73d5df1caf3eca35b66a10824ae0707",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/mtd/ubi/build.c",
            "drivers/mtd/ubi/vmt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.22"
            },
            {
              "lessThan": "2.6.22",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.308",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.276",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.235",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.173",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.100",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.18",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nubi: Fix possible null-ptr-deref in ubi_free_volume()\n\nIt willl cause null-ptr-deref in the following case:\n\nuif_init()\n  ubi_add_volume()\n    cdev_add() -\u003e if it fails, call kill_volumes()\n    device_register()\n\nkill_volumes() -\u003e if ubi_add_volume() fails call this function\n  ubi_free_volume()\n    cdev_del()\n    device_unregister() -\u003e trying to delete a not added device,\n\t\t\t   it causes null-ptr-deref\n\nSo in ubi_free_volume(), it delete devices whether they are added\nor not, it will causes null-ptr-deref.\n\nHandle the error case whlie calling ubi_add_volume() to fix this\nproblem. If add volume fails, set the corresponding vol to null,\nso it can not be accessed in kill_volumes() and release the\nresource in ubi_add_volume() error path."
    }
  ],
  "id": "CVE-2023-54087",
  "lastModified": "2026-06-17T06:46:46.730",
  "metrics": {},
  "published": "2025-12-24T13:16:10.557",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/234c53e57424992e657e6f4acc00d3df0983176f"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/2ea7195b195009ecf0046e55361f393ba96d02db"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/45b2c5ca4d2edae70f19fdb086bd927840c4c309"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/5558bcf1c58720ca6e9d6198d921cb3aa337f038"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/5ec4c8aca5a221756a9007deadfea92795319fee"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/9eccdb0760cbcb4427b5303a83a3007de998af51"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/c15859bfd326c10230f09cb48a17f8a35f190342"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/fcbc795abe7897da4b5d2a6ab5010e36774b00c2"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Deferred"
}


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…