« Volver al listado

CVE-2022-50770

Estado: AplazadaSin puntuar—

In the Linux kernel, the following vulnerability has been resolved:

ocfs2: fix memory leak in ocfs2_mount_volume()

There is a memory leak reported by kmemleak:

This call stack is related to two problems. Firstly, the ocfs2 super uses "replay_map" to trace online/offline slots, in order to recover offline slots during recovery and mount. But when ocfs2_truncate_log_init() returns an error in ocfs2_mount_volume(), the memory of "replay_map" will not be freed in error handling path. Secondly, the memory of "replay_map" will not be freed if d_make_root() returns an error in ocfs2_fill_super(). But the memory of "replay_map" will be freed normally when completing recovery and mount in ocfs2_complete_mount_recovery().

Leer descripción completaMostrar menos

Fix the first problem by adding error handling path to free "replay_map" when ocfs2_truncate_log_init() fails. And fix the second problem by calling ocfs2_free_replay_slots(osb) in the error handling path "out_dismount". In addition, since ocfs2_free_replay_slots() is static, it is necessary to remove its static attribute and declare it in header file.

Detalles técnicos trazas, registros y código del informe original
  unreferenced object 0xffff88810cc65e60 (size 32):
    comm "mount.ocfs2", pid 23753, jiffies 4302528942 (age 34735.105s)
    hex dump (first 32 bytes):
      10 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01  ................
      01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00  ................
    backtrace:
      [<ffffffff8170f73d>] __kmalloc+0x4d/0x150
      [<ffffffffa0ac3f51>] ocfs2_compute_replay_slots+0x121/0x330 [ocfs2]
      [<ffffffffa0b65165>] ocfs2_check_volume+0x485/0x900 [ocfs2]
      [<ffffffffa0b68129>] ocfs2_mount_volume.isra.0+0x1e9/0x650 [ocfs2]
      [<ffffffffa0b7160b>] ocfs2_fill_super+0xe0b/0x1740 [ocfs2]
      [<ffffffff818e1fe2>] mount_bdev+0x312/0x400
      [<ffffffff819a086d>] legacy_get_tree+0xed/0x1d0
      [<ffffffff818de82d>] vfs_get_tree+0x7d/0x230
      [<ffffffff81957f92>] path_mount+0xd62/0x1760
      [<ffffffff81958a5a>] do_mount+0xca/0xe0
      [<ffffffff81958d3c>] __x64_sys_mount+0x12c/0x1a0
      [<ffffffff82f26f15>] do_syscall_64+0x35/0x80
      [<ffffffff8300006a>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2022-50770",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
              "lessThan": "7ef516888c4d30ae41bfcd79e7077d86d92794c5",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
              "lessThan": "2b7e59ed2e77136e9360274f8f0fc208a003e95c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
              "lessThan": "8059e200259e9c483d715fc2df6340c227c3e196",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
              "lessThan": "4efe1d2db731bad19891e2fb9b338724b1f598cc",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
              "lessThan": "50ab0ca3aff4da26037113d69f5a756d8c1a92cd",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
              "lessThan": "ce2fcf1516d674a174d9b34d1e1024d64de9fba3",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "fs/ocfs2/journal.c",
            "fs/ocfs2/journal.h",
            "fs/ocfs2/super.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.30"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "2.6.30",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.4.229",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "status": "unaffected",
              "version": "5.10.163",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.107",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.0.16",
              "versionType": "semver",
              "lessThanOrEqual": "6.0.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.2",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "fs/ocfs2/journal.c",
            "fs/ocfs2/journal.h",
            "fs/ocfs2/super.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-12-24T13:16:03.813",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2b7e59ed2e77136e9360274f8f0fc208a003e95c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4efe1d2db731bad19891e2fb9b338724b1f598cc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/50ab0ca3aff4da26037113d69f5a756d8c1a92cd",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7ef516888c4d30ae41bfcd79e7077d86d92794c5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8059e200259e9c483d715fc2df6340c227c3e196",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ce2fcf1516d674a174d9b34d1e1024d64de9fba3",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Deferred",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: fix memory leak in ocfs2_mount_volume()\n\nThere is a memory leak reported by kmemleak:\n\n  unreferenced object 0xffff88810cc65e60 (size 32):\n    comm \"mount.ocfs2\", pid 23753, jiffies 4302528942 (age 34735.105s)\n    hex dump (first 32 bytes):\n      10 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01  ................\n      01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00  ................\n    backtrace:\n      [<ffffffff8170f73d>] __kmalloc+0x4d/0x150\n      [<ffffffffa0ac3f51>] ocfs2_compute_replay_slots+0x121/0x330 [ocfs2]\n      [<ffffffffa0b65165>] ocfs2_check_volume+0x485/0x900 [ocfs2]\n      [<ffffffffa0b68129>] ocfs2_mount_volume.isra.0+0x1e9/0x650 [ocfs2]\n      [<ffffffffa0b7160b>] ocfs2_fill_super+0xe0b/0x1740 [ocfs2]\n      [<ffffffff818e1fe2>] mount_bdev+0x312/0x400\n      [<ffffffff819a086d>] legacy_get_tree+0xed/0x1d0\n      [<ffffffff818de82d>] vfs_get_tree+0x7d/0x230\n      [<ffffffff81957f92>] path_mount+0xd62/0x1760\n      [<ffffffff81958a5a>] do_mount+0xca/0xe0\n      [<ffffffff81958d3c>] __x64_sys_mount+0x12c/0x1a0\n      [<ffffffff82f26f15>] do_syscall_64+0x35/0x80\n      [<ffffffff8300006a>] entry_SYSCALL_64_after_hwframe+0x46/0xb0\n\nThis call stack is related to two problems.  Firstly, the ocfs2 super uses\n\"replay_map\" to trace online/offline slots, in order to recover offline\nslots during recovery and mount.  But when ocfs2_truncate_log_init()\nreturns an error in ocfs2_mount_volume(), the memory of \"replay_map\" will\nnot be freed in error handling path.  Secondly, the memory of \"replay_map\"\nwill not be freed if d_make_root() returns an error in ocfs2_fill_super().\nBut the memory of \"replay_map\" will be freed normally when completing\nrecovery and mount in ocfs2_complete_mount_recovery().\n\nFix the first problem by adding error handling path to free \"replay_map\"\nwhen ocfs2_truncate_log_init() fails.  And fix the second problem by\ncalling ocfs2_free_replay_slots(osb) in the error handling path\n\"out_dismount\".  In addition, since ocfs2_free_replay_slots() is static,\nit is necessary to remove its static attribute and declare it in header\nfile."
    }
  ],
  "lastModified": "2026-06-17T05:24:08.890",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}