CVE-2025-21805 (GCVE-0-2025-21805)

Vulnerability from cvelistv5 – Published: 2025-02-27 20:00 – Updated: 2026-08-05 11:54
VLAI
Title
RDMA/rtrs: Add missing deinit() call
Summary
In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs: Add missing deinit() call A warning is triggered when repeatedly connecting and disconnecting the rnbd: list_add corruption. prev->next should be next (ffff88800b13e480), but was ffff88801ecd1338. (prev=ffff88801ecd1340). WARNING: CPU: 1 PID: 36562 at lib/list_debug.c:32 __list_add_valid_or_report+0x7f/0xa0 Workqueue: ib_cm cm_work_handler [ib_cm] RIP: 0010:__list_add_valid_or_report+0x7f/0xa0 ? __list_add_valid_or_report+0x7f/0xa0 ib_register_event_handler+0x65/0x93 [ib_core] rtrs_srv_ib_dev_init+0x29/0x30 [rtrs_server] rtrs_ib_dev_find_or_add+0x124/0x1d0 [rtrs_core] __alloc_path+0x46c/0x680 [rtrs_server] ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server] ? rcu_is_watching+0xd/0x40 ? __mutex_lock+0x312/0xcf0 ? get_or_create_srv+0xad/0x310 [rtrs_server] ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server] rtrs_rdma_connect+0x23c/0x2d0 [rtrs_server] ? __lock_release+0x1b1/0x2d0 cma_cm_event_handler+0x4a/0x1a0 [rdma_cm] cma_ib_req_handler+0x3a0/0x7e0 [rdma_cm] cm_process_work+0x28/0x1a0 [ib_cm] ? _raw_spin_unlock_irq+0x2f/0x50 cm_req_handler+0x618/0xa60 [ib_cm] cm_work_handler+0x71/0x520 [ib_cm] Commit 667db86bcbe8 ("RDMA/rtrs: Register ib event handler") introduced a new element .deinit but never used it at all. Fix it by invoking the `deinit()` to appropriately unregister the IB event handler.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 667db86bcbe82e789d82c2e8c8c40756ec2e1999 , < 5a79cc9bc961fafe90787f86e8f53ba6fad8d63b (git)
Affected: 667db86bcbe82e789d82c2e8c8c40756ec2e1999 , < 1af2c769032b6b334cd2a867d7d8c7cbbc527b2d (git)
Affected: 667db86bcbe82e789d82c2e8c8c40756ec2e1999 , < 81468c4058a62e84e475433b83b3edc613294f5e (git)
Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.12.13 , ≤ 6.12.* (semver)
Unaffected: 6.13.2 , ≤ 6.13.* (semver)
Unaffected: 6.14 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/ulp/rtrs/rtrs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5a79cc9bc961fafe90787f86e8f53ba6fad8d63b",
              "status": "affected",
              "version": "667db86bcbe82e789d82c2e8c8c40756ec2e1999",
              "versionType": "git"
            },
            {
              "lessThan": "1af2c769032b6b334cd2a867d7d8c7cbbc527b2d",
              "status": "affected",
              "version": "667db86bcbe82e789d82c2e8c8c40756ec2e1999",
              "versionType": "git"
            },
            {
              "lessThan": "81468c4058a62e84e475433b83b3edc613294f5e",
              "status": "affected",
              "version": "667db86bcbe82e789d82c2e8c8c40756ec2e1999",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/ulp/rtrs/rtrs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.12"
            },
            {
              "lessThan": "6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.13.*",
              "status": "unaffected",
              "version": "6.13.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.14",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.13",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.2",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/rtrs: Add missing deinit() call\n\nA warning is triggered when repeatedly connecting and disconnecting the\nrnbd:\n list_add corruption. prev-\u003enext should be next (ffff88800b13e480), but was ffff88801ecd1338. (prev=ffff88801ecd1340).\n WARNING: CPU: 1 PID: 36562 at lib/list_debug.c:32 __list_add_valid_or_report+0x7f/0xa0\n Workqueue: ib_cm cm_work_handler [ib_cm]\n RIP: 0010:__list_add_valid_or_report+0x7f/0xa0\n  ? __list_add_valid_or_report+0x7f/0xa0\n  ib_register_event_handler+0x65/0x93 [ib_core]\n  rtrs_srv_ib_dev_init+0x29/0x30 [rtrs_server]\n  rtrs_ib_dev_find_or_add+0x124/0x1d0 [rtrs_core]\n  __alloc_path+0x46c/0x680 [rtrs_server]\n  ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server]\n  ? rcu_is_watching+0xd/0x40\n  ? __mutex_lock+0x312/0xcf0\n  ? get_or_create_srv+0xad/0x310 [rtrs_server]\n  ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server]\n  rtrs_rdma_connect+0x23c/0x2d0 [rtrs_server]\n  ? __lock_release+0x1b1/0x2d0\n  cma_cm_event_handler+0x4a/0x1a0 [rdma_cm]\n  cma_ib_req_handler+0x3a0/0x7e0 [rdma_cm]\n  cm_process_work+0x28/0x1a0 [ib_cm]\n  ? _raw_spin_unlock_irq+0x2f/0x50\n  cm_req_handler+0x618/0xa60 [ib_cm]\n  cm_work_handler+0x71/0x520 [ib_cm]\n\nCommit 667db86bcbe8 (\"RDMA/rtrs: Register ib event handler\") introduced a\nnew element .deinit but never used it at all. Fix it by invoking the\n`deinit()` to appropriately unregister the IB event handler."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The rtrs server listens on IN6ADDR_ANY for RDMA CM connection requests and processes remote peers\u0027 connect-request private data in `rtrs_rdma_connect()`, which drives both the allocation and the free of the affected object; over RoCEv2 (UDP) and iWARP (TCP) this is IP-routable rather than fabric-local.\nAC:L - The dangling `ib_event_handler` is left registered on every teardown of the last path \u2014 deterministic, with no race to win and no precondition outside the attacker\u0027s control, since the attacker drives both the connect (register) and the disconnect (free) sides at will.\nPR:N - RTRS performs no authentication whatsoever; `rtrs_srv_rdma_cm_handler()` hands an unauthenticated CONNECT_REQUEST directly to `rtrs_rdma_connect()`, which validates only a magic constant and version before reaching `rtrs_ib_dev_find_or_add()`.\nUI:N - Exploitation requires only that the attacker open and tear down RDMA connections to the listening server; no action by any local user or administrator is involved.\nS:U - The corruption and its consequences are confined to the kernel\u0027s own security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The freed `rtrs_ib_dev` remains linked in the IB core\u0027s device-wide handler list, so list traversal and the `handler-\u003ehandler()` dispatch dereference attacker-groomable freed heap memory in the generic kmalloc-96 cache, yielding read and control primitives suitable for disclosing arbitrary kernel memory.\nI:H - `ib_register_event_handler()`\u0027s `list_add_tail()` and any peer handler\u0027s `list_del()` write through pointers in the freed object, and `ib_dispatch_event_clients()` calls a function pointer read from it \u2014 giving both a write primitive and a direct control-flow hijack after heap spraying.\nA:H - The immediate observed effect is list corruption (WARNING with CONFIG_DEBUG_LIST, silent corruption and subsequent oops/panic without it), and any dispatched IB async event calls into freed memory, crashing the kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:54:34.615Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5a79cc9bc961fafe90787f86e8f53ba6fad8d63b"
        },
        {
          "url": "https://git.kernel.org/stable/c/1af2c769032b6b334cd2a867d7d8c7cbbc527b2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/81468c4058a62e84e475433b83b3edc613294f5e"
        }
      ],
      "title": "RDMA/rtrs: Add missing deinit() call",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-21805",
    "datePublished": "2025-02-27T20:00:58.290Z",
    "dateReserved": "2024-12-29T08:45:45.771Z",
    "dateUpdated": "2026-08-05T11:54:34.615Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-21805",
      "date": "2026-08-10",
      "epss": "0.00374",
      "percentile": "0.30214"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-21805\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-02-27T20:16:03.127\",\"lastModified\":\"2026-07-30T06:21:38.110\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nRDMA/rtrs: Add missing deinit() call\\n\\nA warning is triggered when repeatedly connecting and disconnecting the\\nrnbd:\\n list_add corruption. prev-\u003enext should be next (ffff88800b13e480), but was ffff88801ecd1338. (prev=ffff88801ecd1340).\\n WARNING: CPU: 1 PID: 36562 at lib/list_debug.c:32 __list_add_valid_or_report+0x7f/0xa0\\n Workqueue: ib_cm cm_work_handler [ib_cm]\\n RIP: 0010:__list_add_valid_or_report+0x7f/0xa0\\n  ? __list_add_valid_or_report+0x7f/0xa0\\n  ib_register_event_handler+0x65/0x93 [ib_core]\\n  rtrs_srv_ib_dev_init+0x29/0x30 [rtrs_server]\\n  rtrs_ib_dev_find_or_add+0x124/0x1d0 [rtrs_core]\\n  __alloc_path+0x46c/0x680 [rtrs_server]\\n  ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server]\\n  ? rcu_is_watching+0xd/0x40\\n  ? __mutex_lock+0x312/0xcf0\\n  ? get_or_create_srv+0xad/0x310 [rtrs_server]\\n  ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server]\\n  rtrs_rdma_connect+0x23c/0x2d0 [rtrs_server]\\n  ? __lock_release+0x1b1/0x2d0\\n  cma_cm_event_handler+0x4a/0x1a0 [rdma_cm]\\n  cma_ib_req_handler+0x3a0/0x7e0 [rdma_cm]\\n  cm_process_work+0x28/0x1a0 [ib_cm]\\n  ? _raw_spin_unlock_irq+0x2f/0x50\\n  cm_req_handler+0x618/0xa60 [ib_cm]\\n  cm_work_handler+0x71/0x520 [ib_cm]\\n\\nCommit 667db86bcbe8 (\\\"RDMA/rtrs: Register ib event handler\\\") introduced a\\nnew element .deinit but never used it at all. Fix it by invoking the\\n`deinit()` to appropriately unregister the IB event handler.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: RDMA/rtrs: Agregar llamada deinit() faltante Se activa una advertencia al conectar y desconectar repetidamente rnbd: corrupci\u00f3n de list_add. prev-\u0026gt;next deber\u00eda ser next (ffff88800b13e480), pero era ffff88801ecd1338. (prev=ffff88801ecd1340). ADVERTENCIA: CPU: 1 PID: 36562 at lib/list_debug.c:32 __list_add_valid_or_report+0x7f/0xa0 Workqueue: ib_cm cm_work_handler [ib_cm] RIP: 0010:__list_add_valid_or_report+0x7f/0xa0 ? __list_add_valid_or_report+0x7f/0xa0 ib_register_event_handler+0x65/0x93 [ib_core] rtrs_srv_ib_dev_init+0x29/0x30 [rtrs_server] rtrs_ib_dev_find_or_add+0x124/0x1d0 [rtrs_core] __alloc_path+0x46c/0x680 [rtrs_server] ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server] ? rcu_is_watching+0xd/0x40 ? __mutex_lock+0x312/0xcf0 ? get_or_create_srv+0xad/0x310 [rtrs_server] ? rtrs_rdma_connect+0xa6/0x2d0 [rtrs_server] rtrs_rdma_connect+0x23c/0x2d0 [rtrs_server] ? __lock_release+0x1b1/0x2d0 cma_cm_event_handler+0x4a/0x1a0 [rdma_cm] cma_ib_req_handler+0x3a0/0x7e0 [rdma_cm] cm_process_work+0x28/0x1a0 [ib_cm] ? _raw_spin_unlock_irq+0x2f/0x50 cm_req_handler+0x618/0xa60 [ib_cm] cm_work_handler+0x71/0x520 [ib_cm] Commit 667db86bcbe8 (\\\"RDMA/rtrs: Register ib event handler\\\") introdujo un nuevo elemento .deinit pero nunca lo us\u00f3. Arr\u00e9glelo invocando `deinit()` para anular el registro del controlador de eventos IB de manera adecuada.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/infiniband/ulp/rtrs/rtrs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"667db86bcbe82e789d82c2e8c8c40756ec2e1999\",\"lessThan\":\"5a79cc9bc961fafe90787f86e8f53ba6fad8d63b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"667db86bcbe82e789d82c2e8c8c40756ec2e1999\",\"lessThan\":\"1af2c769032b6b334cd2a867d7d8c7cbbc527b2d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"667db86bcbe82e789d82c2e8c8c40756ec2e1999\",\"lessThan\":\"81468c4058a62e84e475433b83b3edc613294f5e\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/infiniband/ulp/rtrs/rtrs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.12\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.12\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.13\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.13.2\",\"lessThanOrEqual\":\"6.13.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.14\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9},{\"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\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12\",\"versionEndExcluding\":\"6.12.13\",\"matchCriteriaId\":\"8507AA00-C52F-4231-94AC-4D0374F5A9F5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.13.2\",\"matchCriteriaId\":\"6D4116B1-1BFD-4F23-BA84-169CC05FC5A3\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1af2c769032b6b334cd2a867d7d8c7cbbc527b2d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5a79cc9bc961fafe90787f86e8f53ba6fad8d63b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/81468c4058a62e84e475433b83b3edc613294f5e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:39:59+00:00",
      "cve": "CVE-2025-21805",
      "id": "CVE-2025-21805",
      "initial_release_date": "2025-02-27T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: RDMA/rtrs: Add missing deinit() call",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-21805.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-31T01:19:40Z",
      "cve": "CVE-2025-21805",
      "id": "CVE-2025-21805",
      "initial_release_date": "2025-03-01T02:52:33Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "352",
      "product_status:recommended": "164",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2025-21805",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2025-21805.json",
      "version": "26"
    }
  }
}



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…

Loading…