CVE-2024-56719 (GCVE-0-2024-56719)
Vulnerability from cvelistv5
Published
2024-12-29 08:48
Modified
2026-08-05 11:46
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix TSO DMA API usage causing oops Commit 66600fac7a98 ("net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data") moved the assignment of tx_skbuff_dma[]'s members to be later in stmmac_tso_xmit(). The buf (dma cookie) and len stored in this structure are passed to dma_unmap_single() by stmmac_tx_clean(). The DMA API requires that the dma cookie passed to dma_unmap_single() is the same as the value returned from dma_map_single(). However, by moving the assignment later, this is not the case when priv->dma_cap.addr64 > 32 as "des" is offset by proto_hdr_len. This causes problems such as: dwc-eth-dwmac 2490000.ethernet eth0: Tx DMA map failed and with DMA_API_DEBUG enabled: DMA-API: dwc-eth-dwmac 2490000.ethernet: device driver tries to +free DMA memory it has not allocated [device address=0x000000ffffcf65c0] [size=66 bytes] Fix this by maintaining "des" as the original DMA cookie, and use tso_des to pass the offset DMA cookie to stmmac_tso_allocator(). Full details of the crashes can be found at: https://lore.kernel.org/all/d8112193-0386-4e14-b516-37c2d838171a@nvidia.com/ https://lore.kernel.org/all/klkzp5yn5kq5efgtrow6wbvnc46bcqfxs65nz3qy77ujr5turc@bwwhelz2l4dw/
Impacted products
Vendor Product Version
Linux Linux Version: ece593fc9c00741b682869d3f3dc584d37b7c9df
Version: a3ff23f7c3f0e13f718900803e090fd3997d6bc9
Version: 07c9c26e37542486e34d767505e842f48f29c3f6
Version: 66600fac7a984dea4ae095411f644770b2561ede
Version: 66600fac7a984dea4ae095411f644770b2561ede
Version: 58d23d835eb498336716cca55b5714191a309286
Version: 5.15.171   
Version: 6.1.116   
Version: 6.6.60   
Version: 6.11.7   
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-56719",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T19:58:24.752519Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "description": "CWE-noinfo Not enough information",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T20:07:06.268Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "affected": [
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIPLUS S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.6",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIPLUS S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-07-14T12:38:40.467Z",
          "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
          "shortName": "siemens-SADP"
        },
        "references": [
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-082556.html"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-019113.html"
          }
        ],
        "x_adpType": "supplier"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/stmicro/stmmac/stmmac_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "05968b6dd0ffc65d7386608b11a11fb4fdfc9f36",
              "status": "affected",
              "version": "ece593fc9c00741b682869d3f3dc584d37b7c9df",
              "versionType": "git"
            },
            {
              "lessThan": "6abcdc9a73274052a9e96a1926994ecf9aedad82",
              "status": "affected",
              "version": "a3ff23f7c3f0e13f718900803e090fd3997d6bc9",
              "versionType": "git"
            },
            {
              "lessThan": "db3667c9bbfbbf5de98e6c9542f7e03fb5243286",
              "status": "affected",
              "version": "07c9c26e37542486e34d767505e842f48f29c3f6",
              "versionType": "git"
            },
            {
              "lessThan": "9d5dd7ccea1b46a9a7c6b3c2b9e5ed8864e185e2",
              "status": "affected",
              "version": "66600fac7a984dea4ae095411f644770b2561ede",
              "versionType": "git"
            },
            {
              "lessThan": "4c49f38e20a57f8abaebdf95b369295b153d1f8e",
              "status": "affected",
              "version": "66600fac7a984dea4ae095411f644770b2561ede",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "58d23d835eb498336716cca55b5714191a309286",
              "versionType": "git"
            },
            {
              "lessThan": "5.15.209",
              "status": "affected",
              "version": "5.15.171",
              "versionType": "semver"
            },
            {
              "lessThan": "6.1.167",
              "status": "affected",
              "version": "6.1.116",
              "versionType": "semver"
            },
            {
              "lessThan": "6.6.68",
              "status": "affected",
              "version": "6.6.60",
              "versionType": "semver"
            },
            {
              "lessThan": "6.12",
              "status": "affected",
              "version": "6.11.7",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/stmicro/stmmac/stmmac_main.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": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.167",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.68",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.209",
                  "versionStartIncluding": "5.15.171",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.167",
                  "versionStartIncluding": "6.1.116",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.68",
                  "versionStartIncluding": "6.6.60",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.7",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.11.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: stmmac: fix TSO DMA API usage causing oops\n\nCommit 66600fac7a98 (\"net: stmmac: TSO: Fix unbalanced DMA map/unmap\nfor non-paged SKB data\") moved the assignment of tx_skbuff_dma[]\u0027s\nmembers to be later in stmmac_tso_xmit().\n\nThe buf (dma cookie) and len stored in this structure are passed to\ndma_unmap_single() by stmmac_tx_clean(). The DMA API requires that\nthe dma cookie passed to dma_unmap_single() is the same as the value\nreturned from dma_map_single(). However, by moving the assignment\nlater, this is not the case when priv-\u003edma_cap.addr64 \u003e 32 as \"des\"\nis offset by proto_hdr_len.\n\nThis causes problems such as:\n\n  dwc-eth-dwmac 2490000.ethernet eth0: Tx DMA map failed\n\nand with DMA_API_DEBUG enabled:\n\n  DMA-API: dwc-eth-dwmac 2490000.ethernet: device driver tries to +free DMA memory it has not allocated [device address=0x000000ffffcf65c0] [size=66 bytes]\n\nFix this by maintaining \"des\" as the original DMA cookie, and use\ntso_des to pass the offset DMA cookie to stmmac_tso_allocator().\n\nFull details of the crashes can be found at:\nhttps://lore.kernel.org/all/d8112193-0386-4e14-b516-37c2d838171a@nvidia.com/\nhttps://lore.kernel.org/all/klkzp5yn5kq5efgtrow6wbvnc46bcqfxs65nz3qy77ujr5turc@bwwhelz2l4dw/"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 10,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The buggy path is `stmmac_xmit()` \u2192 `stmmac_tso_xmit()`, taken for any GSO/TSO skb, so a remote unauthenticated peer reaches it simply by soliciting bulk data from any listening service or by pushing traffic that a dwmac/xgmac-based router, gateway or automotive SoC forwards out the stmmac interface. No local access is required to drive the vulnerable code.\nAC:L - The DMA cookie/length mismatch occurs on every TSO transmit on the affected (addr64 \u003e 32) hardware, and the damaging oversized IOVA unmap/free triggers on a large fraction of frames purely as a function of buffer alignment, so an attacker pushing bulk traffic hits it within milliseconds with no condition outside their control.\nPR:N - There is no capability, credential or authentication check anywhere between packet transmission and `stmmac_tso_xmit()`; merely causing the host to send large TCP/UDP-GSO data (e.g. an HTTP GET against a public service, or routed traffic) is sufficient.\nUI:N - No victim action is needed \u2014 the bug fires automatically during ordinary transmit processing driven entirely by the attacker\u0027s traffic.\nS:C - The defect corrupts IOMMU/IOVA bookkeeping, unmapping and freeing translation ranges belonging to other live DMA mappings, so the NIC ends up with (or loses) translations outside its granted allocation \u2014 a breach of the IOMMU/DMA isolation boundary that confines a DMA-capable device, not merely a fault contained within the driver.\nC:H - Aliased and leaked IOVA mappings let the device read host memory outside the intended buffer and transmit it onto the wire, and the corrupted mapping state is memory corruption that can be leveraged for kernel memory disclosure.\nI:H - Over-freed IOVA ranges are handed out again while still in use, so device DMA \u2014 including remote-attacker-controlled received packet payloads written into RX buffers \u2014 can land in unrelated kernel pages, giving an arbitrary-write style memory corruption primitive.\nA:H - The commit is explicitly titled \"fix TSO DMA API usage causing oops\" and links to crash reports; in practice it yields `WARN_ON` in `__iommu_dma_unmap()`, SMMU translation faults, kernel oopses, and permanent `Tx DMA map failed` transmit failure that takes the interface down."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:46:17.079Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/05968b6dd0ffc65d7386608b11a11fb4fdfc9f36"
        },
        {
          "url": "https://git.kernel.org/stable/c/6abcdc9a73274052a9e96a1926994ecf9aedad82"
        },
        {
          "url": "https://git.kernel.org/stable/c/db3667c9bbfbbf5de98e6c9542f7e03fb5243286"
        },
        {
          "url": "https://git.kernel.org/stable/c/9d5dd7ccea1b46a9a7c6b3c2b9e5ed8864e185e2"
        },
        {
          "url": "https://git.kernel.org/stable/c/4c49f38e20a57f8abaebdf95b369295b153d1f8e"
        }
      ],
      "title": "net: stmmac: fix TSO DMA API usage causing oops",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-56719",
    "datePublished": "2024-12-29T08:48:51.495Z",
    "dateReserved": "2024-12-27T15:00:39.858Z",
    "dateUpdated": "2026-08-05T11:46:17.079Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"affected\": [{\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.5\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.5\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.5\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.5\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.6\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}, {\"vendor\": \"Siemens\", \"product\": \"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP\", \"versions\": [{\"status\": \"affected\", \"version\": \"V3.1.5\", \"lessThan\": \"*\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"x_adpType\": \"supplier\", \"references\": [{\"url\": \"https://cert-portal.siemens.com/productcert/html/ssa-082556.html\"}, {\"url\": \"https://cert-portal.siemens.com/productcert/html/ssa-019113.html\"}], \"providerMetadata\": {\"orgId\": \"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e\", \"shortName\": \"siemens-SADP\", \"dateUpdated\": \"2026-07-14T12:38:40.467Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"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-56719\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T19:58:24.752519Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"description\": \"CWE-noinfo Not enough information\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T15:48:03.464Z\"}}], \"cna\": {\"title\": \"net: stmmac: fix TSO DMA API usage causing oops\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 10, \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:N - The buggy path is `stmmac_xmit()` \\u2192 `stmmac_tso_xmit()`, taken for any GSO/TSO skb, so a remote unauthenticated peer reaches it simply by soliciting bulk data from any listening service or by pushing traffic that a dwmac/xgmac-based router, gateway or automotive SoC forwards out the stmmac interface. No local access is required to drive the vulnerable code.\\nAC:L - The DMA cookie/length mismatch occurs on every TSO transmit on the affected (addr64 \u003e 32) hardware, and the damaging oversized IOVA unmap/free triggers on a large fraction of frames purely as a function of buffer alignment, so an attacker pushing bulk traffic hits it within milliseconds with no condition outside their control.\\nPR:N - There is no capability, credential or authentication check anywhere between packet transmission and `stmmac_tso_xmit()`; merely causing the host to send large TCP/UDP-GSO data (e.g. an HTTP GET against a public service, or routed traffic) is sufficient.\\nUI:N - No victim action is needed \\u2014 the bug fires automatically during ordinary transmit processing driven entirely by the attacker\u0027s traffic.\\nS:C - The defect corrupts IOMMU/IOVA bookkeeping, unmapping and freeing translation ranges belonging to other live DMA mappings, so the NIC ends up with (or loses) translations outside its granted allocation \\u2014 a breach of the IOMMU/DMA isolation boundary that confines a DMA-capable device, not merely a fault contained within the driver.\\nC:H - Aliased and leaked IOVA mappings let the device read host memory outside the intended buffer and transmit it onto the wire, and the corrupted mapping state is memory corruption that can be leveraged for kernel memory disclosure.\\nI:H - Over-freed IOVA ranges are handed out again while still in use, so device DMA \\u2014 including remote-attacker-controlled received packet payloads written into RX buffers \\u2014 can land in unrelated kernel pages, giving an arbitrary-write style memory corruption primitive.\\nA:H - The commit is explicitly titled \\\"fix TSO DMA API usage causing oops\\\" and links to crash reports; in practice it yields `WARN_ON` in `__iommu_dma_unmap()`, SMMU translation faults, kernel oopses, and permanent `Tx DMA map failed` transmit failure that takes the interface down.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"ece593fc9c00741b682869d3f3dc584d37b7c9df\", \"lessThan\": \"05968b6dd0ffc65d7386608b11a11fb4fdfc9f36\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a3ff23f7c3f0e13f718900803e090fd3997d6bc9\", \"lessThan\": \"6abcdc9a73274052a9e96a1926994ecf9aedad82\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"07c9c26e37542486e34d767505e842f48f29c3f6\", \"lessThan\": \"db3667c9bbfbbf5de98e6c9542f7e03fb5243286\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"66600fac7a984dea4ae095411f644770b2561ede\", \"lessThan\": \"9d5dd7ccea1b46a9a7c6b3c2b9e5ed8864e185e2\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"66600fac7a984dea4ae095411f644770b2561ede\", \"lessThan\": \"4c49f38e20a57f8abaebdf95b369295b153d1f8e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"58d23d835eb498336716cca55b5714191a309286\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5.15.171\", \"lessThan\": \"5.15.209\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"6.1.116\", \"lessThan\": \"6.1.167\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"6.6.60\", \"lessThan\": \"6.6.68\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"6.11.7\", \"lessThan\": \"6.12\", \"versionType\": \"semver\"}], \"programFiles\": [\"drivers/net/ethernet/stmicro/stmmac/stmmac_main.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.12\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.12\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.209\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.167\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.68\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.7\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/net/ethernet/stmicro/stmmac/stmmac_main.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/05968b6dd0ffc65d7386608b11a11fb4fdfc9f36\"}, {\"url\": \"https://git.kernel.org/stable/c/6abcdc9a73274052a9e96a1926994ecf9aedad82\"}, {\"url\": \"https://git.kernel.org/stable/c/db3667c9bbfbbf5de98e6c9542f7e03fb5243286\"}, {\"url\": \"https://git.kernel.org/stable/c/9d5dd7ccea1b46a9a7c6b3c2b9e5ed8864e185e2\"}, {\"url\": \"https://git.kernel.org/stable/c/4c49f38e20a57f8abaebdf95b369295b153d1f8e\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: stmmac: fix TSO DMA API usage causing oops\\n\\nCommit 66600fac7a98 (\\\"net: stmmac: TSO: Fix unbalanced DMA map/unmap\\nfor non-paged SKB data\\\") moved the assignment of tx_skbuff_dma[]\u0027s\\nmembers to be later in stmmac_tso_xmit().\\n\\nThe buf (dma cookie) and len stored in this structure are passed to\\ndma_unmap_single() by stmmac_tx_clean(). The DMA API requires that\\nthe dma cookie passed to dma_unmap_single() is the same as the value\\nreturned from dma_map_single(). However, by moving the assignment\\nlater, this is not the case when priv-\u003edma_cap.addr64 \u003e 32 as \\\"des\\\"\\nis offset by proto_hdr_len.\\n\\nThis causes problems such as:\\n\\n  dwc-eth-dwmac 2490000.ethernet eth0: Tx DMA map failed\\n\\nand with DMA_API_DEBUG enabled:\\n\\n  DMA-API: dwc-eth-dwmac 2490000.ethernet: device driver tries to +free DMA memory it has not allocated [device address=0x000000ffffcf65c0] [size=66 bytes]\\n\\nFix this by maintaining \\\"des\\\" as the original DMA cookie, and use\\ntso_des to pass the offset DMA cookie to stmmac_tso_allocator().\\n\\nFull details of the crashes can be found at:\\nhttps://lore.kernel.org/all/d8112193-0386-4e14-b516-37c2d838171a@nvidia.com/\\nhttps://lore.kernel.org/all/klkzp5yn5kq5efgtrow6wbvnc46bcqfxs65nz3qy77ujr5turc@bwwhelz2l4dw/\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.209\", \"versionStartIncluding\": \"5.15.171\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.167\", \"versionStartIncluding\": \"6.1.116\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.68\", \"versionStartIncluding\": \"6.6.60\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.7\", \"versionStartIncluding\": \"6.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.13\", \"versionStartIncluding\": \"6.12\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"6.11.7\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:46:17.079Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-56719\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:46:17.079Z\", \"dateReserved\": \"2024-12-27T15:00:39.858Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-12-29T08:48:51.495Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


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…