CVE-2023-54112 (GCVE-0-2023-54112)
Vulnerability from cvelistv5
Published
2025-12-24 13:06
Modified
2025-12-24 13:06
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: kcm: Fix memory leak in error path of kcm_sendmsg() syzbot reported a memory leak like below: BUG: memory leak unreferenced object 0xffff88810b088c00 (size 240): comm "syz-executor186", pid 5012, jiffies 4294943306 (age 13.680s) hex dump (first 32 bytes): 00 89 08 0b 81 88 ff ff 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff83e5d5ff>] __alloc_skb+0x1ef/0x230 net/core/skbuff.c:634 [<ffffffff84606e59>] alloc_skb include/linux/skbuff.h:1289 [inline] [<ffffffff84606e59>] kcm_sendmsg+0x269/0x1050 net/kcm/kcmsock.c:815 [<ffffffff83e479c6>] sock_sendmsg_nosec net/socket.c:725 [inline] [<ffffffff83e479c6>] sock_sendmsg+0x56/0xb0 net/socket.c:748 [<ffffffff83e47f55>] ____sys_sendmsg+0x365/0x470 net/socket.c:2494 [<ffffffff83e4c389>] ___sys_sendmsg+0xc9/0x130 net/socket.c:2548 [<ffffffff83e4c536>] __sys_sendmsg+0xa6/0x120 net/socket.c:2577 [<ffffffff84ad7bb8>] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [<ffffffff84ad7bb8>] do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80 [<ffffffff84c0008b>] entry_SYSCALL_64_after_hwframe+0x63/0xcd In kcm_sendmsg(), kcm_tx_msg(head)->last_skb is used as a cursor to append newly allocated skbs to 'head'. If some bytes are copied, an error occurred, and jumped to out_error label, 'last_skb' is left unmodified. A later kcm_sendmsg() will use an obsoleted 'last_skb' reference, corrupting the 'head' frag_list and causing the leak. This patch fixes this issue by properly updating the last allocated skb in 'last_skb'.
Impacted products
Vendor Product Version
Linux Linux Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Version: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/kcm/kcmsock.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "5e5554389397e98fafb9efe395d8b4830dd5f042",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "479c71cda14b3c3a6515773faa39055333eaa2b7",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "33db24ad811b3576a0c2f8862506763f2be925b0",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "97275339c34cfbccd65e87bc38fd910ae66c48ba",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "16989de75497574b5fafd174c0c233d5a86858b7",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "af8085e0fc3207ecbf8b9e7a635c790e36d058c6",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            },
            {
              "lessThan": "c821a88bd720b0046433173185fd841a100d44ad",
              "status": "affected",
              "version": "ab7ac4eb9832e32a09f4e8042705484d2fb0aad3",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/kcm/kcmsock.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.6"
            },
            {
              "lessThan": "4.6",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.326",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.295",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.257",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.195",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.132",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.54",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.5.*",
              "status": "unaffected",
              "version": "6.5.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.6",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.326",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.295",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.257",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.195",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.132",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.54",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5.4",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nkcm: Fix memory leak in error path of kcm_sendmsg()\n\nsyzbot reported a memory leak like below:\n\nBUG: memory leak\nunreferenced object 0xffff88810b088c00 (size 240):\n  comm \"syz-executor186\", pid 5012, jiffies 4294943306 (age 13.680s)\n  hex dump (first 32 bytes):\n    00 89 08 0b 81 88 ff ff 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff83e5d5ff\u003e] __alloc_skb+0x1ef/0x230 net/core/skbuff.c:634\n    [\u003cffffffff84606e59\u003e] alloc_skb include/linux/skbuff.h:1289 [inline]\n    [\u003cffffffff84606e59\u003e] kcm_sendmsg+0x269/0x1050 net/kcm/kcmsock.c:815\n    [\u003cffffffff83e479c6\u003e] sock_sendmsg_nosec net/socket.c:725 [inline]\n    [\u003cffffffff83e479c6\u003e] sock_sendmsg+0x56/0xb0 net/socket.c:748\n    [\u003cffffffff83e47f55\u003e] ____sys_sendmsg+0x365/0x470 net/socket.c:2494\n    [\u003cffffffff83e4c389\u003e] ___sys_sendmsg+0xc9/0x130 net/socket.c:2548\n    [\u003cffffffff83e4c536\u003e] __sys_sendmsg+0xa6/0x120 net/socket.c:2577\n    [\u003cffffffff84ad7bb8\u003e] do_syscall_x64 arch/x86/entry/common.c:50 [inline]\n    [\u003cffffffff84ad7bb8\u003e] do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80\n    [\u003cffffffff84c0008b\u003e] entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nIn kcm_sendmsg(), kcm_tx_msg(head)-\u003elast_skb is used as a cursor to append\nnewly allocated skbs to \u0027head\u0027. If some bytes are copied, an error occurred,\nand jumped to out_error label, \u0027last_skb\u0027 is left unmodified. A later\nkcm_sendmsg() will use an obsoleted \u0027last_skb\u0027 reference, corrupting the\n\u0027head\u0027 frag_list and causing the leak.\n\nThis patch fixes this issue by properly updating the last allocated skb in\n\u0027last_skb\u0027."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-12-24T13:06:34.854Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b"
        },
        {
          "url": "https://git.kernel.org/stable/c/5e5554389397e98fafb9efe395d8b4830dd5f042"
        },
        {
          "url": "https://git.kernel.org/stable/c/479c71cda14b3c3a6515773faa39055333eaa2b7"
        },
        {
          "url": "https://git.kernel.org/stable/c/33db24ad811b3576a0c2f8862506763f2be925b0"
        },
        {
          "url": "https://git.kernel.org/stable/c/97275339c34cfbccd65e87bc38fd910ae66c48ba"
        },
        {
          "url": "https://git.kernel.org/stable/c/16989de75497574b5fafd174c0c233d5a86858b7"
        },
        {
          "url": "https://git.kernel.org/stable/c/af8085e0fc3207ecbf8b9e7a635c790e36d058c6"
        },
        {
          "url": "https://git.kernel.org/stable/c/c821a88bd720b0046433173185fd841a100d44ad"
        }
      ],
      "title": "kcm: Fix memory leak in error path of kcm_sendmsg()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-54112",
    "datePublished": "2025-12-24T13:06:34.854Z",
    "dateReserved": "2025-12-24T13:02:52.518Z",
    "dateUpdated": "2025-12-24T13:06:34.854Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-54112\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-24T13:16:13.103\",\"lastModified\":\"2025-12-24T13:16:13.103\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nkcm: Fix memory leak in error path of kcm_sendmsg()\\n\\nsyzbot reported a memory leak like below:\\n\\nBUG: memory leak\\nunreferenced object 0xffff88810b088c00 (size 240):\\n  comm \\\"syz-executor186\\\", pid 5012, jiffies 4294943306 (age 13.680s)\\n  hex dump (first 32 bytes):\\n    00 89 08 0b 81 88 ff ff 00 00 00 00 00 00 00 00  ................\\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\\n  backtrace:\\n    [\u003cffffffff83e5d5ff\u003e] __alloc_skb+0x1ef/0x230 net/core/skbuff.c:634\\n    [\u003cffffffff84606e59\u003e] alloc_skb include/linux/skbuff.h:1289 [inline]\\n    [\u003cffffffff84606e59\u003e] kcm_sendmsg+0x269/0x1050 net/kcm/kcmsock.c:815\\n    [\u003cffffffff83e479c6\u003e] sock_sendmsg_nosec net/socket.c:725 [inline]\\n    [\u003cffffffff83e479c6\u003e] sock_sendmsg+0x56/0xb0 net/socket.c:748\\n    [\u003cffffffff83e47f55\u003e] ____sys_sendmsg+0x365/0x470 net/socket.c:2494\\n    [\u003cffffffff83e4c389\u003e] ___sys_sendmsg+0xc9/0x130 net/socket.c:2548\\n    [\u003cffffffff83e4c536\u003e] __sys_sendmsg+0xa6/0x120 net/socket.c:2577\\n    [\u003cffffffff84ad7bb8\u003e] do_syscall_x64 arch/x86/entry/common.c:50 [inline]\\n    [\u003cffffffff84ad7bb8\u003e] do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80\\n    [\u003cffffffff84c0008b\u003e] entry_SYSCALL_64_after_hwframe+0x63/0xcd\\n\\nIn kcm_sendmsg(), kcm_tx_msg(head)-\u003elast_skb is used as a cursor to append\\nnewly allocated skbs to \u0027head\u0027. If some bytes are copied, an error occurred,\\nand jumped to out_error label, \u0027last_skb\u0027 is left unmodified. A later\\nkcm_sendmsg() will use an obsoleted \u0027last_skb\u0027 reference, corrupting the\\n\u0027head\u0027 frag_list and causing the leak.\\n\\nThis patch fixes this issue by properly updating the last allocated skb in\\n\u0027last_skb\u0027.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/16989de75497574b5fafd174c0c233d5a86858b7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/33db24ad811b3576a0c2f8862506763f2be925b0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/479c71cda14b3c3a6515773faa39055333eaa2b7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5e5554389397e98fafb9efe395d8b4830dd5f042\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/97275339c34cfbccd65e87bc38fd910ae66c48ba\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/af8085e0fc3207ecbf8b9e7a635c790e36d058c6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c821a88bd720b0046433173185fd841a100d44ad\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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…