cve-2021-46983
Vulnerability from cvelistv5
Published
2024-02-28 08:13
Modified
2024-11-04 11:57
Severity ?
Summary
nvmet-rdma: Fix NULL deref when SEND is completed with error
Impacted products
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-46983",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-02-28T19:05:12.428400Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:13:08.871Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:24:37.886Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/64f3410c7bfc389b1a58611d0799f4a36ce4b6b5"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/17fb6dfa5162b89ecfa07df891a53afec321abe8"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5bdb34466ad8370546dfa0497594fb1d6f2fed90"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/8cc365f9559b86802afc0208389f5c8d46b4ad61"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/target/rdma.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "64f3410c7bfc",
              "status": "affected",
              "version": "ca0f1a8055be",
              "versionType": "git"
            },
            {
              "lessThan": "17fb6dfa5162",
              "status": "affected",
              "version": "ca0f1a8055be",
              "versionType": "git"
            },
            {
              "lessThan": "5bdb34466ad8",
              "status": "affected",
              "version": "ca0f1a8055be",
              "versionType": "git"
            },
            {
              "lessThan": "8cc365f9559b",
              "status": "affected",
              "version": "ca0f1a8055be",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/target/rdma.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.9"
            },
            {
              "lessThan": "5.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.38",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.11.*",
              "status": "unaffected",
              "version": "5.11.22",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvmet-rdma: Fix NULL deref when SEND is completed with error\n\nWhen running some traffic and taking down the link on peer, a\nretry counter exceeded error is received. This leads to\nnvmet_rdma_error_comp which tried accessing the cq_context to\nobtain the queue. The cq_context is no longer valid after the\nfix to use shared CQ mechanism and should be obtained similar\nto how it is obtained in other functions from the wc-\u003eqp.\n\n[ 905.786331] nvmet_rdma: SEND for CQE 0x00000000e3337f90 failed with status transport retry counter exceeded (12).\n[ 905.832048] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048\n[ 905.839919] PGD 0 P4D 0\n[ 905.842464] Oops: 0000 1 SMP NOPTI\n[ 905.846144] CPU: 13 PID: 1557 Comm: kworker/13:1H Kdump: loaded Tainted: G OE --------- - - 4.18.0-304.el8.x86_64 #1\n[ 905.872135] RIP: 0010:nvmet_rdma_error_comp+0x5/0x1b [nvmet_rdma]\n[ 905.878259] Code: 19 4f c0 e8 89 b3 a5 f6 e9 5b e0 ff ff 0f b7 75 14 4c 89 ea 48 c7 c7 08 1a 4f c0 e8 71 b3 a5 f6 e9 4b e0 ff ff 0f 1f 44 00 00 \u003c48\u003e 8b 47 48 48 85 c0 74 08 48 89 c7 e9 98 bf 49 00 e9 c3 e3 ff ff\n[ 905.897135] RSP: 0018:ffffab601c45fe28 EFLAGS: 00010246\n[ 905.902387] RAX: 0000000000000065 RBX: ffff9e729ea2f800 RCX: 0000000000000000\n[ 905.909558] RDX: 0000000000000000 RSI: ffff9e72df9567c8 RDI: 0000000000000000\n[ 905.916731] RBP: ffff9e729ea2b400 R08: 000000000000074d R09: 0000000000000074\n[ 905.923903] R10: 0000000000000000 R11: ffffab601c45fcc0 R12: 0000000000000010\n[ 905.931074] R13: 0000000000000000 R14: 0000000000000010 R15: ffff9e729ea2f400\n[ 905.938247] FS: 0000000000000000(0000) GS:ffff9e72df940000(0000) knlGS:0000000000000000\n[ 905.938249] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[ 905.950067] nvmet_rdma: SEND for CQE 0x00000000c7356cca failed with status transport retry counter exceeded (12).\n[ 905.961855] CR2: 0000000000000048 CR3: 000000678d010004 CR4: 00000000007706e0\n[ 905.961855] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[ 905.961856] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\n[ 905.961857] PKRU: 55555554\n[ 906.010315] Call Trace:\n[ 906.012778] __ib_process_cq+0x89/0x170 [ib_core]\n[ 906.017509] ib_cq_poll_work+0x26/0x80 [ib_core]\n[ 906.022152] process_one_work+0x1a7/0x360\n[ 906.026182] ? create_worker+0x1a0/0x1a0\n[ 906.030123] worker_thread+0x30/0x390\n[ 906.033802] ? create_worker+0x1a0/0x1a0\n[ 906.037744] kthread+0x116/0x130\n[ 906.040988] ? kthread_flush_work_fn+0x10/0x10\n[ 906.045456] ret_from_fork+0x1f/0x40"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-11-04T11:57:07.204Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/64f3410c7bfc389b1a58611d0799f4a36ce4b6b5"
        },
        {
          "url": "https://git.kernel.org/stable/c/17fb6dfa5162b89ecfa07df891a53afec321abe8"
        },
        {
          "url": "https://git.kernel.org/stable/c/5bdb34466ad8370546dfa0497594fb1d6f2fed90"
        },
        {
          "url": "https://git.kernel.org/stable/c/8cc365f9559b86802afc0208389f5c8d46b4ad61"
        }
      ],
      "title": "nvmet-rdma: Fix NULL deref when SEND is completed with error",
      "x_generator": {
        "engine": "bippy-9e1c9544281a"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-46983",
    "datePublished": "2024-02-28T08:13:12.223Z",
    "dateReserved": "2024-02-27T18:42:55.946Z",
    "dateUpdated": "2024-11-04T11:57:07.204Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2021-46983\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-02-28T09:15:37.410\",\"lastModified\":\"2024-02-28T14:06:45.783\",\"vulnStatus\":\"Awaiting Analysis\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnvmet-rdma: Fix NULL deref when SEND is completed with error\\n\\nWhen running some traffic and taking down the link on peer, a\\nretry counter exceeded error is received. This leads to\\nnvmet_rdma_error_comp which tried accessing the cq_context to\\nobtain the queue. The cq_context is no longer valid after the\\nfix to use shared CQ mechanism and should be obtained similar\\nto how it is obtained in other functions from the wc-\u003eqp.\\n\\n[ 905.786331] nvmet_rdma: SEND for CQE 0x00000000e3337f90 failed with status transport retry counter exceeded (12).\\n[ 905.832048] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048\\n[ 905.839919] PGD 0 P4D 0\\n[ 905.842464] Oops: 0000 1 SMP NOPTI\\n[ 905.846144] CPU: 13 PID: 1557 Comm: kworker/13:1H Kdump: loaded Tainted: G OE --------- - - 4.18.0-304.el8.x86_64 #1\\n[ 905.872135] RIP: 0010:nvmet_rdma_error_comp+0x5/0x1b [nvmet_rdma]\\n[ 905.878259] Code: 19 4f c0 e8 89 b3 a5 f6 e9 5b e0 ff ff 0f b7 75 14 4c 89 ea 48 c7 c7 08 1a 4f c0 e8 71 b3 a5 f6 e9 4b e0 ff ff 0f 1f 44 00 00 \u003c48\u003e 8b 47 48 48 85 c0 74 08 48 89 c7 e9 98 bf 49 00 e9 c3 e3 ff ff\\n[ 905.897135] RSP: 0018:ffffab601c45fe28 EFLAGS: 00010246\\n[ 905.902387] RAX: 0000000000000065 RBX: ffff9e729ea2f800 RCX: 0000000000000000\\n[ 905.909558] RDX: 0000000000000000 RSI: ffff9e72df9567c8 RDI: 0000000000000000\\n[ 905.916731] RBP: ffff9e729ea2b400 R08: 000000000000074d R09: 0000000000000074\\n[ 905.923903] R10: 0000000000000000 R11: ffffab601c45fcc0 R12: 0000000000000010\\n[ 905.931074] R13: 0000000000000000 R14: 0000000000000010 R15: ffff9e729ea2f400\\n[ 905.938247] FS: 0000000000000000(0000) GS:ffff9e72df940000(0000) knlGS:0000000000000000\\n[ 905.938249] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\n[ 905.950067] nvmet_rdma: SEND for CQE 0x00000000c7356cca failed with status transport retry counter exceeded (12).\\n[ 905.961855] CR2: 0000000000000048 CR3: 000000678d010004 CR4: 00000000007706e0\\n[ 905.961855] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\\n[ 905.961856] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\\n[ 905.961857] PKRU: 55555554\\n[ 906.010315] Call Trace:\\n[ 906.012778] __ib_process_cq+0x89/0x170 [ib_core]\\n[ 906.017509] ib_cq_poll_work+0x26/0x80 [ib_core]\\n[ 906.022152] process_one_work+0x1a7/0x360\\n[ 906.026182] ? create_worker+0x1a0/0x1a0\\n[ 906.030123] worker_thread+0x30/0x390\\n[ 906.033802] ? create_worker+0x1a0/0x1a0\\n[ 906.037744] kthread+0x116/0x130\\n[ 906.040988] ? kthread_flush_work_fn+0x10/0x10\\n[ 906.045456] ret_from_fork+0x1f/0x40\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: nvmet-rdma: corrige la deref NULL cuando se completa SEND con error Al ejecutar algo de tr\u00e1fico y eliminar el enlace en el par, se recibe un error de contador de reintentos excedido. Esto lleva a nvmet_rdma_error_comp que intent\u00f3 acceder a cq_context para obtener la cola. El cq_context ya no es v\u00e1lido despu\u00e9s de la correcci\u00f3n para usar el mecanismo CQ compartido y debe obtenerse de manera similar a c\u00f3mo se obtiene en otras funciones de wc-\u0026gt;qp. [905.786331] nvmet_rdma: El ENV\u00cdO para CQE 0x00000000e3337f90 fall\u00f3 y se super\u00f3 el contador de reintentos de transporte de estado (12). [905.832048] ERROR: no se puede manejar la desreferencia del puntero NULL del kernel en 0000000000000048 [905.839919] PGD 0 P4D 0 [905.842464] Vaya: 0000 1 SMP NOPTI [905.846144] CPU: 13 PID: 1557 Co mm: kworker/13:1H Kdump: cargado Contaminado : G OE --------- - - 4.18.0-304.el8.x86_64 #1 [ 905.872135] RIP: 0010:nvmet_rdma_error_comp+0x5/0x1b [nvmet_rdma] [ 905.878259] C\u00f3digo: 19 4f c0 e8 89 B3 A5 F6 E9 5B E0 FF FF 0F B7 75 14 4C 89 EA 48 C7 C7 08 1A 4F C0 E8 71 B3 A5 F6 E9 4B E0 FF FF 0F 1F 44 00 00 00 \u0026lt;48\u0026gt; 8B 47 48 48 85 C0 74 08 48 89 c7 e9 98 bf 49 00 e9 c3 e3 ff ff [ 905.897135] RSP: 0018:ffffab601c45fe28 EFLAGS: 00010246 [ 905.902387] RAX: 00000000000000065 RBX: ffff9e729ea2f800 RCX: 0000000000000000 [ 905.909558] RDX: 0000000000000000 RSI: ffff9e72df9567c8 RDI: 00000000000000000 [ 905.916731] RBP : ffff9e729ea2b400 R08: 000000000000074d R09: 0000000000000074 [ 905.923903] R10: 00000000000000000 R11: ffffab601c45fcc0 R12: 00000000000 00010 [ 905.931074] R13: 0000000000000000 R14: 0000000000000010 R15: ffff9e729ea2f400 [ 905.938247] FS: 0000000000000000(0000) GS:ffff9e72 df940000(0000) knlGS:0000000000000000 [ 905.938249] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 905.950067] nvmet_rdma: ENV\u00cdO para CQE 0x00000000c7356cca fall\u00f3 con el contador de reintentos de transporte de estado excedido (12). [ 905.961855] CR2: 0000000000000048 CR3: 000000678d010004 CR4: 00000000007706e0 [ 905.961855] DR0: 00000000000000000 DR1: 00000000000000 00 DR2: 0000000000000000 [ 905.961856] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 00000000000000400 [ 905.961857] PKRU: 55555554 [ 906.0 10315] Seguimiento de llamadas: [906.012778 ] __ib_process_cq+0x89/0x170 [ib_core] [ 906.017509] ib_cq_poll_work+0x26/0x80 [ib_core] [ 906.022152] Process_one_work+0x1a7/0x360 [ 906.026182] ? crear_trabajador+0x1a0/0x1a0 [ 906.030123] hilo_trabajador+0x30/0x390 [ 906.033802] ? create_worker+0x1a0/0x1a0 [ 906.037744] kthread+0x116/0x130 [ 906.040988] ? kthread_flush_work_fn+0x10/0x10 [ 906.045456] ret_from_fork+0x1f/0x40\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/17fb6dfa5162b89ecfa07df891a53afec321abe8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5bdb34466ad8370546dfa0497594fb1d6f2fed90\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/64f3410c7bfc389b1a58611d0799f4a36ce4b6b5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8cc365f9559b86802afc0208389f5c8d46b4ad61\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...

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