cve-2024-41006
Vulnerability from cvelistv5
Published
2024-07-12 12:44
Modified
2024-12-19 09:09
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: netrom: Fix a memory leak in nr_heartbeat_expiry() syzbot reported a memory leak in nr_create() [0]. Commit 409db27e3a2e ("netrom: Fix use-after-free of a listening socket.") added sock_hold() to the nr_heartbeat_expiry() function, where a) a socket has a SOCK_DESTROY flag or b) a listening socket has a SOCK_DEAD flag. But in the case "a," when the SOCK_DESTROY flag is set, the file descriptor has already been closed and the nr_release() function has been called. So it makes no sense to hold the reference count because no one will call another nr_destroy_socket() and put it as in the case "b." nr_connect nr_establish_data_link nr_start_heartbeat nr_release switch (nr->state) case NR_STATE_3 nr->state = NR_STATE_2 sock_set_flag(sk, SOCK_DESTROY); nr_rx_frame nr_process_rx_frame switch (nr->state) case NR_STATE_2 nr_state2_machine() nr_disconnect() nr_sk(sk)->state = NR_STATE_0 sock_set_flag(sk, SOCK_DEAD) nr_heartbeat_expiry switch (nr->state) case NR_STATE_0 if (sock_flag(sk, SOCK_DESTROY) || (sk->sk_state == TCP_LISTEN && sock_flag(sk, SOCK_DEAD))) sock_hold() // ( !!! ) nr_destroy_socket() To fix the memory leak, let's call sock_hold() only for a listening socket. Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with Syzkaller. [0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16
References
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fbaMailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2bMailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69cMailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fbaMailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2bMailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69cMailing List, Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313Mailing List, Patch
Impacted products
Vendor Product Version
Linux Linux Version: a31caf5779ace8fa98b0d454133808e082ee7a1b
Version: fe9b9e621cebe6b7e83f7e954c70f8bb430520e5
Version: 7de16d75b20ab13b75a7291f449a1b00090edfea
Version: d2d3ab1b1de3302de2c85769121fd4f890e47ceb
Version: 51e394c6f81adbfe7c34d15f58b3d4d44f144acf
Version: 409db27e3a2eb5e8ef7226ca33be33361b3ed1c9
Version: 409db27e3a2eb5e8ef7226ca33be33361b3ed1c9
Version: 409db27e3a2eb5e8ef7226ca33be33361b3ed1c9
Create a notification for this product.
   Linux Linux Version: 6.2
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T04:39:56.157Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fba"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2b"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-41006",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:00:58.734577Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:18.546Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/netrom/nr_timer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d616876256b38ecf9a1a1c7d674192c5346bc69c",
              "status": "affected",
              "version": "a31caf5779ace8fa98b0d454133808e082ee7a1b",
              "versionType": "git"
            },
            {
              "lessThan": "e07a9c2a850cdebf625e7a1b8171bd23a8554313",
              "status": "affected",
              "version": "fe9b9e621cebe6b7e83f7e954c70f8bb430520e5",
              "versionType": "git"
            },
            {
              "lessThan": "5391f9db2cab5ef1cb411be1ab7dbec728078fba",
              "status": "affected",
              "version": "7de16d75b20ab13b75a7291f449a1b00090edfea",
              "versionType": "git"
            },
            {
              "lessThan": "280cf1173726a7059b628c610c71050d5c0b6937",
              "status": "affected",
              "version": "d2d3ab1b1de3302de2c85769121fd4f890e47ceb",
              "versionType": "git"
            },
            {
              "lessThan": "a02fd5d775cf9787ee7698c797e20f2fa13d2e2b",
              "status": "affected",
              "version": "51e394c6f81adbfe7c34d15f58b3d4d44f144acf",
              "versionType": "git"
            },
            {
              "lessThan": "b6ebe4fed73eedeb73f4540f8edc4871945474c8",
              "status": "affected",
              "version": "409db27e3a2eb5e8ef7226ca33be33361b3ed1c9",
              "versionType": "git"
            },
            {
              "lessThan": "d377f5a28332954b19e373d36823e59830ab1712",
              "status": "affected",
              "version": "409db27e3a2eb5e8ef7226ca33be33361b3ed1c9",
              "versionType": "git"
            },
            {
              "lessThan": "0b9130247f3b6a1122478471ff0e014ea96bb735",
              "status": "affected",
              "version": "409db27e3a2eb5e8ef7226ca33be33361b3ed1c9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/netrom/nr_timer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.2"
            },
            {
              "lessThan": "6.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.317",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.279",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.162",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.96",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.36",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetrom: Fix a memory leak in nr_heartbeat_expiry()\n\nsyzbot reported a memory leak in nr_create() [0].\n\nCommit 409db27e3a2e (\"netrom: Fix use-after-free of a listening socket.\")\nadded sock_hold() to the nr_heartbeat_expiry() function, where\na) a socket has a SOCK_DESTROY flag or\nb) a listening socket has a SOCK_DEAD flag.\n\nBut in the case \"a,\" when the SOCK_DESTROY flag is set, the file descriptor\nhas already been closed and the nr_release() function has been called.\nSo it makes no sense to hold the reference count because no one will\ncall another nr_destroy_socket() and put it as in the case \"b.\"\n\nnr_connect\n  nr_establish_data_link\n    nr_start_heartbeat\n\nnr_release\n  switch (nr-\u003estate)\n  case NR_STATE_3\n    nr-\u003estate = NR_STATE_2\n    sock_set_flag(sk, SOCK_DESTROY);\n\n                        nr_rx_frame\n                          nr_process_rx_frame\n                            switch (nr-\u003estate)\n                            case NR_STATE_2\n                              nr_state2_machine()\n                                nr_disconnect()\n                                  nr_sk(sk)-\u003estate = NR_STATE_0\n                                  sock_set_flag(sk, SOCK_DEAD)\n\n                        nr_heartbeat_expiry\n                          switch (nr-\u003estate)\n                          case NR_STATE_0\n                            if (sock_flag(sk, SOCK_DESTROY) ||\n                               (sk-\u003esk_state == TCP_LISTEN\n                                 \u0026\u0026 sock_flag(sk, SOCK_DEAD)))\n                               sock_hold()  // ( !!! )\n                               nr_destroy_socket()\n\nTo fix the memory leak, let\u0027s call sock_hold() only for a listening socket.\n\nFound by InfoTeCS on behalf of Linux Verification Center\n(linuxtesting.org) with Syzkaller.\n\n[0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:09:54.799Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69c"
        },
        {
          "url": "https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313"
        },
        {
          "url": "https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fba"
        },
        {
          "url": "https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937"
        },
        {
          "url": "https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2b"
        },
        {
          "url": "https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712"
        },
        {
          "url": "https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735"
        }
      ],
      "title": "netrom: Fix a memory leak in nr_heartbeat_expiry()",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-41006",
    "datePublished": "2024-07-12T12:44:41.176Z",
    "dateReserved": "2024-07-12T12:17:45.610Z",
    "dateUpdated": "2024-12-19T09:09:54.799Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-41006\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-12T13:15:21.370\",\"lastModified\":\"2024-11-21T09:32:03.057\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetrom: Fix a memory leak in nr_heartbeat_expiry()\\n\\nsyzbot reported a memory leak in nr_create() [0].\\n\\nCommit 409db27e3a2e (\\\"netrom: Fix use-after-free of a listening socket.\\\")\\nadded sock_hold() to the nr_heartbeat_expiry() function, where\\na) a socket has a SOCK_DESTROY flag or\\nb) a listening socket has a SOCK_DEAD flag.\\n\\nBut in the case \\\"a,\\\" when the SOCK_DESTROY flag is set, the file descriptor\\nhas already been closed and the nr_release() function has been called.\\nSo it makes no sense to hold the reference count because no one will\\ncall another nr_destroy_socket() and put it as in the case \\\"b.\\\"\\n\\nnr_connect\\n  nr_establish_data_link\\n    nr_start_heartbeat\\n\\nnr_release\\n  switch (nr-\u003estate)\\n  case NR_STATE_3\\n    nr-\u003estate = NR_STATE_2\\n    sock_set_flag(sk, SOCK_DESTROY);\\n\\n                        nr_rx_frame\\n                          nr_process_rx_frame\\n                            switch (nr-\u003estate)\\n                            case NR_STATE_2\\n                              nr_state2_machine()\\n                                nr_disconnect()\\n                                  nr_sk(sk)-\u003estate = NR_STATE_0\\n                                  sock_set_flag(sk, SOCK_DEAD)\\n\\n                        nr_heartbeat_expiry\\n                          switch (nr-\u003estate)\\n                          case NR_STATE_0\\n                            if (sock_flag(sk, SOCK_DESTROY) ||\\n                               (sk-\u003esk_state == TCP_LISTEN\\n                                 \u0026\u0026 sock_flag(sk, SOCK_DEAD)))\\n                               sock_hold()  // ( !!! )\\n                               nr_destroy_socket()\\n\\nTo fix the memory leak, let\u0027s call sock_hold() only for a listening socket.\\n\\nFound by InfoTeCS on behalf of Linux Verification Center\\n(linuxtesting.org) with Syzkaller.\\n\\n[0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: netrom: corrige una p\u00e9rdida de memoria en nr_heartbeat_expiry() syzbot inform\u00f3 una p\u00e9rdida de memoria en nr_create() [0]. El commit 409db27e3a2e (\\\"netrom: Reparar el use-after-free de un socket de escucha\\\") agreg\u00f3 sock_hold() a la funci\u00f3n nr_heartbeat_expiry(), donde a) un socket tiene un indicador SOCK_DESTROY ob) un socket de escucha tiene un indicador SOCK_DEAD. Pero en el caso \\\"a\\\", cuando se establece el indicador SOCK_DESTROY, el descriptor de archivo ya se ha cerrado y se ha llamado a la funci\u00f3n nr_release(). Por lo tanto, no tiene sentido mantener el recuento de referencias porque nadie llamar\u00e1 a otro nr_destroy_socket() y lo pondr\u00e1 como en el caso \\\"b\\\". nr_connect nr_establecer_data_link nr_start_heartbeat nr_release interruptor (nr-\u0026gt;estado) caso NR_STATE_3 nr-\u0026gt;estado = NR_STATE_2 sock_set_flag(sk, SOCK_DESTROY); nr_rx_frame nr_process_rx_frame interruptor (nr-\u0026gt;estado) caso NR_STATE_2 nr_state2_machine() nr_disconnect() nr_sk(sk)-\u0026gt;estado = NR_STATE_0 sock_set_flag(sk, SOCK_DEAD) nr_heartbeat_expiry interruptor (nr-\u0026gt;estado) caso NR_STATE_0 if (sock_flag(sk, OCK_DESTROY) || (sk-\u0026gt;sk_state == TCP_LISTEN \u0026amp;\u0026amp; sock_flag(sk, SOCK_DEAD))) sock_hold() // ( !!! ) nr_destroy_socket() Para solucionar la p\u00e9rdida de memoria, llamemos a sock_hold() solo para un socket de escucha. Encontrado por InfoTeCS en nombre del Centro de verificaci\u00f3n de Linux (linuxtesting.org) con Syzkaller. [0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-401\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.19.272\",\"versionEndExcluding\":\"4.19.317\",\"matchCriteriaId\":\"0799BB5F-A0F0-4290-872D-24364C18F638\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.4.231\",\"versionEndExcluding\":\"5.4.279\",\"matchCriteriaId\":\"4821FCF8-B57B-4F3C-B3FC-5CFAEA2C6BC5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.10.166\",\"versionEndExcluding\":\"5.10.221\",\"matchCriteriaId\":\"E81DAF77-0E91-457C-AC9D-117B2D0BF7CB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15.91\",\"versionEndExcluding\":\"5.15.162\",\"matchCriteriaId\":\"2E0E5DA0-5043-4127-8316-B0E03B88EE6E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.1.9\",\"versionEndExcluding\":\"6.1.96\",\"matchCriteriaId\":\"012144F5-2368-4D39-ABE2-07E7568304BB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.36\",\"matchCriteriaId\":\"E1046C95-860A-45B0-B718-2B29F65BFF10\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.9.7\",\"matchCriteriaId\":\"0A047AF2-94AC-4A3A-B32D-6AB930D8EF1C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"2EBB4392-5FA6-4DA9-9772-8F9C750109FA\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"331C2F14-12C7-45D5-893D-8C52EE38EA10\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"3173713D-909A-4DD3-9DD4-1E171EB057EE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"79F18AFA-40F7-43F0-BA30-7BDB65F918B9\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fba\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fba\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2b\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69c\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69c\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fba\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2b\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T04:39:56.157Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-41006\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T17:00:58.734577Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:21.915Z\"}}], \"cna\": {\"title\": \"netrom: Fix a memory leak in nr_heartbeat_expiry()\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"a31caf5779ac\", \"lessThan\": \"d616876256b3\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fe9b9e621ceb\", \"lessThan\": \"e07a9c2a850c\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"7de16d75b20a\", \"lessThan\": \"5391f9db2cab\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"d2d3ab1b1de3\", \"lessThan\": \"280cf1173726\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"51e394c6f81a\", \"lessThan\": \"a02fd5d775cf\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"409db27e3a2e\", \"lessThan\": \"b6ebe4fed73e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"409db27e3a2e\", \"lessThan\": \"d377f5a28332\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"409db27e3a2e\", \"lessThan\": \"0b9130247f3b\", \"versionType\": \"git\"}], \"programFiles\": [\"net/netrom/nr_timer.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.2\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.2\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.317\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.279\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.221\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.162\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.96\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.36\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9.7\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"net/netrom/nr_timer.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/d616876256b38ecf9a1a1c7d674192c5346bc69c\"}, {\"url\": \"https://git.kernel.org/stable/c/e07a9c2a850cdebf625e7a1b8171bd23a8554313\"}, {\"url\": \"https://git.kernel.org/stable/c/5391f9db2cab5ef1cb411be1ab7dbec728078fba\"}, {\"url\": \"https://git.kernel.org/stable/c/280cf1173726a7059b628c610c71050d5c0b6937\"}, {\"url\": \"https://git.kernel.org/stable/c/a02fd5d775cf9787ee7698c797e20f2fa13d2e2b\"}, {\"url\": \"https://git.kernel.org/stable/c/b6ebe4fed73eedeb73f4540f8edc4871945474c8\"}, {\"url\": \"https://git.kernel.org/stable/c/d377f5a28332954b19e373d36823e59830ab1712\"}, {\"url\": \"https://git.kernel.org/stable/c/0b9130247f3b6a1122478471ff0e014ea96bb735\"}], \"x_generator\": {\"engine\": \"bippy-9e1c9544281a\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetrom: Fix a memory leak in nr_heartbeat_expiry()\\n\\nsyzbot reported a memory leak in nr_create() [0].\\n\\nCommit 409db27e3a2e (\\\"netrom: Fix use-after-free of a listening socket.\\\")\\nadded sock_hold() to the nr_heartbeat_expiry() function, where\\na) a socket has a SOCK_DESTROY flag or\\nb) a listening socket has a SOCK_DEAD flag.\\n\\nBut in the case \\\"a,\\\" when the SOCK_DESTROY flag is set, the file descriptor\\nhas already been closed and the nr_release() function has been called.\\nSo it makes no sense to hold the reference count because no one will\\ncall another nr_destroy_socket() and put it as in the case \\\"b.\\\"\\n\\nnr_connect\\n  nr_establish_data_link\\n    nr_start_heartbeat\\n\\nnr_release\\n  switch (nr-\u003estate)\\n  case NR_STATE_3\\n    nr-\u003estate = NR_STATE_2\\n    sock_set_flag(sk, SOCK_DESTROY);\\n\\n                        nr_rx_frame\\n                          nr_process_rx_frame\\n                            switch (nr-\u003estate)\\n                            case NR_STATE_2\\n                              nr_state2_machine()\\n                                nr_disconnect()\\n                                  nr_sk(sk)-\u003estate = NR_STATE_0\\n                                  sock_set_flag(sk, SOCK_DEAD)\\n\\n                        nr_heartbeat_expiry\\n                          switch (nr-\u003estate)\\n                          case NR_STATE_0\\n                            if (sock_flag(sk, SOCK_DESTROY) ||\\n                               (sk-\u003esk_state == TCP_LISTEN\\n                                 \u0026\u0026 sock_flag(sk, SOCK_DEAD)))\\n                               sock_hold()  // ( !!! )\\n                               nr_destroy_socket()\\n\\nTo fix the memory leak, let\u0027s call sock_hold() only for a listening socket.\\n\\nFound by InfoTeCS on behalf of Linux Verification Center\\n(linuxtesting.org) with Syzkaller.\\n\\n[0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16\"}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2024-11-05T09:34:54.773Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-41006\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-11-05T09:34:54.773Z\", \"dateReserved\": \"2024-07-12T12:17:45.610Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-12T12:44:41.176Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


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.
  • 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.