CVE-2024-53094 (GCVE-0-2024-53094)
Vulnerability from cvelistv5
Published
2024-11-21 18:17
Modified
2026-08-05 11:43
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES While running ISER over SIW, the initiator machine encounters a warning from skb_splice_from_iter() indicating that a slab page is being used in send_page. To address this, it is better to add a sendpage_ok() check within the driver itself, and if it returns 0, then MSG_SPLICE_PAGES flag should be disabled before entering the network stack. A similar issue has been discussed for NVMe in this thread: https://lore.kernel.org/all/20240530142417.146696-1-ofir.gal@volumez.com/ WARNING: CPU: 0 PID: 5342 at net/core/skbuff.c:7140 skb_splice_from_iter+0x173/0x320 Call Trace: tcp_sendmsg_locked+0x368/0xe40 siw_tx_hdt+0x695/0xa40 [siw] siw_qp_sq_process+0x102/0xb00 [siw] siw_sq_resume+0x39/0x110 [siw] siw_run_sq+0x74/0x160 [siw] kthread+0xd2/0x100 ret_from_fork+0x34/0x40 ret_from_fork_asm+0x1a/0x30
Impacted products
Vendor Product Version
Linux Linux Version: 0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be
Version: 0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be
Version: 0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 5.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2024-53094",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T20:11:21.053170Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "description": "CWE-noinfo Not enough information",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T20:17:12.985Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/sw/siw/siw_qp_tx.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3406bfc813a9bbd9c3055795e985f527b7852e8c",
              "status": "affected",
              "version": "0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be",
              "versionType": "git"
            },
            {
              "lessThan": "bb5738957d92c8603a90c9664d34236641c221b2",
              "status": "affected",
              "version": "0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be",
              "versionType": "git"
            },
            {
              "lessThan": "4e1e3dd88a4cedd5ccc1a3fc3d71e03b70a7a791",
              "status": "affected",
              "version": "0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/sw/siw/siw_qp_tx.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.3"
            },
            {
              "lessThan": "5.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.62",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.62",
                  "versionStartIncluding": "5.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11.9",
                  "versionStartIncluding": "5.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12",
                  "versionStartIncluding": "5.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES\n\nWhile running ISER over SIW, the initiator machine encounters a warning\nfrom skb_splice_from_iter() indicating that a slab page is being used in\nsend_page. To address this, it is better to add a sendpage_ok() check\nwithin the driver itself, and if it returns 0, then MSG_SPLICE_PAGES flag\nshould be disabled before entering the network stack.\n\nA similar issue has been discussed for NVMe in this thread:\nhttps://lore.kernel.org/all/20240530142417.146696-1-ofir.gal@volumez.com/\n\n  WARNING: CPU: 0 PID: 5342 at net/core/skbuff.c:7140 skb_splice_from_iter+0x173/0x320\n  Call Trace:\n   tcp_sendmsg_locked+0x368/0xe40\n   siw_tx_hdt+0x695/0xa40 [siw]\n   siw_qp_sq_process+0x102/0xb00 [siw]\n   siw_sq_resume+0x39/0x110 [siw]\n   siw_run_sq+0x74/0x160 [siw]\n   kthread+0xd2/0x100\n   ret_from_fork+0x34/0x40\n   ret_from_fork_asm+0x1a/0x30"
        }
      ],
      "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 - siw is an RDMA-over-TCP transport, and the vulnerable transmit path is driven by remote input \u2014 `siw_init_rresp()` takes the read length, local address and stag directly from a peer\u0027s RDMA Read Request off the TCP stream, and any length \u2265 PAGE_SIZE selects the `MSG_SPLICE_PAGES` zero-copy path. The reported failure also occurs in ordinary remote-peer-driven iSER-over-siw traffic.\nAC:L - No race or unpredictable state is involved; slab-backed kernel-ULP buffers are the normal case (the reporter hit it in routine ISER-over-SIW operation), and the peer simply issues a read/transfer of at least PAGE_SIZE against an advertised region. `zcopy_tx` is hardcoded true and READ_RESPONSE WQEs are always unsignalled, so the zero-copy path is taken deterministically.\nPR:N - iWARP/MPA has no in-kernel authentication, and the RX path processes an inbound RDMA Read Request and queues the READ_RESPONSE with `perms = 0` \u2014 no access-rights or credential check gates the vulnerable transmit path. A peer at the far end of the RDMA connection holds no privileges on the victim host.\nUI:N - Triggering requires only normal or attacker-generated RDMA traffic on an established connection; no action by a local user or administrator on the victim system is needed.\nS:U - The fault, the corrupted page references and the resulting crash all occur within the victim kernel\u0027s own security authority; no VM, IOMMU or sandbox boundary is crossed.\nC:H - Handing non-`sendpage_ok()` pages to the network stack is exactly the condition `sendpage_ok()` exists to prevent \u2014 TCP retains references to slab pages that the allocator may recycle, so retransmitted segments can leak recycled kernel slab contents to the remote peer, and the resulting refcount corruption is a memory-corruption class defect leverageable for disclosure.\nI:H - `get_page()`/`put_page()` on slab pages corrupts the page refcount and can release a page that is still in use (the \"delayed Oops\" documented in include/linux/net.h), a use-after-free-class primitive; data transmitted from buffers the ULP has already freed or reused also corrupts on-wire data and MPA CRCs.\nA:H - The bad page trips `WARN_ON_ONCE()` in `skb_splice_from_iter()`, which is a kernel panic on any system with `panic_on_warn=1`, and returns `-EIO`, which aborts the FPDU, drives the QP to error state and tears down the RDMA storage/NFS session \u2014 repeatably, at the remote peer\u0027s discretion."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:43:37.995Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3406bfc813a9bbd9c3055795e985f527b7852e8c"
        },
        {
          "url": "https://git.kernel.org/stable/c/bb5738957d92c8603a90c9664d34236641c221b2"
        },
        {
          "url": "https://git.kernel.org/stable/c/4e1e3dd88a4cedd5ccc1a3fc3d71e03b70a7a791"
        }
      ],
      "title": "RDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-53094",
    "datePublished": "2024-11-21T18:17:10.600Z",
    "dateReserved": "2024-11-19T17:17:24.982Z",
    "dateUpdated": "2026-08-05T11:43:37.995Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"cna\": {\"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T09:52:54.089Z\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nRDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES\\n\\nWhile running ISER over SIW, the initiator machine encounters a warning\\nfrom skb_splice_from_iter() indicating that a slab page is being used in\\nsend_page. To address this, it is better to add a sendpage_ok() check\\nwithin the driver itself, and if it returns 0, then MSG_SPLICE_PAGES flag\\nshould be disabled before entering the network stack.\\n\\nA similar issue has been discussed for NVMe in this thread:\\nhttps://lore.kernel.org/all/20240530142417.146696-1-ofir.gal@volumez.com/\\n\\n  WARNING: CPU: 0 PID: 5342 at net/core/skbuff.c:7140 skb_splice_from_iter+0x173/0x320\\n  Call Trace:\\n   tcp_sendmsg_locked+0x368/0xe40\\n   siw_tx_hdt+0x695/0xa40 [siw]\\n   siw_qp_sq_process+0x102/0xb00 [siw]\\n   siw_sq_resume+0x39/0x110 [siw]\\n   siw_run_sq+0x74/0x160 [siw]\\n   kthread+0xd2/0x100\\n   ret_from_fork+0x34/0x40\\n   ret_from_fork_asm+0x1a/0x30\"}], \"affected\": [{\"product\": \"Linux\", \"vendor\": \"Linux\", \"defaultStatus\": \"unaffected\", \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"programFiles\": [\"drivers/infiniband/sw/siw/siw_qp_tx.c\"], \"versions\": [{\"version\": \"0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be\", \"lessThan\": \"3406bfc813a9bbd9c3055795e985f527b7852e8c\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be\", \"lessThan\": \"bb5738957d92c8603a90c9664d34236641c221b2\", \"status\": \"affected\", \"versionType\": \"git\"}, {\"version\": \"0e935ae6afcdbe6f0c0aa457ae57feccc63bb9be\", \"lessThan\": \"4e1e3dd88a4cedd5ccc1a3fc3d71e03b70a7a791\", \"status\": \"affected\", \"versionType\": \"git\"}]}, {\"product\": \"Linux\", \"vendor\": \"Linux\", \"defaultStatus\": \"affected\", \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"programFiles\": [\"drivers/infiniband/sw/siw/siw_qp_tx.c\"], \"versions\": [{\"version\": \"5.3\", \"status\": \"affected\"}, {\"version\": \"0\", \"lessThan\": \"5.3\", \"status\": \"unaffected\", \"versionType\": \"semver\"}, {\"version\": \"6.6.62\", \"lessThanOrEqual\": \"6.6.*\", \"status\": \"unaffected\", \"versionType\": \"semver\"}, {\"version\": \"6.11.9\", \"lessThanOrEqual\": \"6.11.*\", \"status\": \"unaffected\", \"versionType\": \"semver\"}, {\"version\": \"6.12\", \"lessThanOrEqual\": \"*\", \"status\": \"unaffected\", \"versionType\": \"original_commit_for_fix\"}]}], \"cpeApplicability\": [{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.3\", \"versionEndExcluding\": \"6.6.62\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.3\", \"versionEndExcluding\": \"6.11.9\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.3\", \"versionEndExcluding\": \"6.12\"}]}]}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/3406bfc813a9bbd9c3055795e985f527b7852e8c\"}, {\"url\": \"https://git.kernel.org/stable/c/bb5738957d92c8603a90c9664d34236641c221b2\"}, {\"url\": \"https://git.kernel.org/stable/c/4e1e3dd88a4cedd5ccc1a3fc3d71e03b70a7a791\"}], \"title\": \"RDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES\", \"x_generator\": {\"engine\": \"bippy-1.2.0\"}}, \"adp\": [{\"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.5, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-53094\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T20:11:21.053170Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"description\": \"CWE-noinfo Not enough information\"}]}], \"providerMetadata\": {\"shortName\": \"CISA-ADP\", \"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"dateUpdated\": \"2025-10-01T15:32:29.348Z\"}, \"title\": \"CISA ADP Vulnrichment\"}]}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-53094\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"state\": \"PUBLISHED\", \"assignerShortName\": \"Linux\", \"dateReserved\": \"2024-11-19T17:17:24.982Z\", \"datePublished\": \"2024-11-21T18:17:10.600Z\", \"dateUpdated\": \"2025-05-04T09:52:54.089Z\"}",
      "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.
  • 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…