CVE-2025-22060 (GCVE-0-2025-22060)
Vulnerability from cvelistv5
Published
2025-04-16 14:12
Modified
2025-05-26 05:17
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: Prevent parser TCAM memory corruption Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM information, from concurrent modifications. Both the TCAM and SRAM tables are indirectly accessed by configuring an index register that selects the row to read or write to. This means that operations must be atomic in order to, e.g., avoid spreading writes across multiple rows. Since the shadow SRAM array is used to find free rows in the hardware table, it must also be protected in order to avoid TOCTOU errors where multiple cores allocate the same row. This issue was detected in a situation where `mvpp2_set_rx_mode()` ran concurrently on two CPUs. In this particular case the MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the classifier unit to drop all incoming unicast - indicated by the `rx_classifier_drops` counter.
Impacted products
Vendor Product Version
Linux Linux Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Create a notification for this product.
   Linux Linux Version: 3.17
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/marvell/mvpp2/mvpp2.h",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e3711163d14d02af9005e4cdad30899c565f13fb",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "b3f48a41a00d6d8d9c6fe09ae47dd21c8c1c8b03",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "5b0ae1723a7d9574ae1aee7d9cf9757a30069865",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "fcbfb54a0269875cf3cd6a2bff4f85a2e0a0b552",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "e64e9b6e86b39db3baa576fd73da73533b54cb2d",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "46c1e23e34c9d1eaadf37f88216d9d8ce0d0bcee",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "96844075226b49af25a69a1d084b648ec2d9b08d",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/marvell/mvpp2/mvpp2.h",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.17"
            },
            {
              "lessThan": "3.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.180",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.134",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.87",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.23",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.13.*",
              "status": "unaffected",
              "version": "6.13.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.180",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.134",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.87",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.23",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.11",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.2",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mvpp2: Prevent parser TCAM memory corruption\n\nProtect the parser TCAM/SRAM memory, and the cached (shadow) SRAM\ninformation, from concurrent modifications.\n\nBoth the TCAM and SRAM tables are indirectly accessed by configuring\nan index register that selects the row to read or write to. This means\nthat operations must be atomic in order to, e.g., avoid spreading\nwrites across multiple rows. Since the shadow SRAM array is used to\nfind free rows in the hardware table, it must also be protected in\norder to avoid TOCTOU errors where multiple cores allocate the same\nrow.\n\nThis issue was detected in a situation where `mvpp2_set_rx_mode()` ran\nconcurrently on two CPUs. In this particular case the\nMVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the\nclassifier unit to drop all incoming unicast - indicated by the\n`rx_classifier_drops` counter."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-26T05:17:35.755Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e3711163d14d02af9005e4cdad30899c565f13fb"
        },
        {
          "url": "https://git.kernel.org/stable/c/b3f48a41a00d6d8d9c6fe09ae47dd21c8c1c8b03"
        },
        {
          "url": "https://git.kernel.org/stable/c/5b0ae1723a7d9574ae1aee7d9cf9757a30069865"
        },
        {
          "url": "https://git.kernel.org/stable/c/fcbfb54a0269875cf3cd6a2bff4f85a2e0a0b552"
        },
        {
          "url": "https://git.kernel.org/stable/c/e64e9b6e86b39db3baa576fd73da73533b54cb2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/46c1e23e34c9d1eaadf37f88216d9d8ce0d0bcee"
        },
        {
          "url": "https://git.kernel.org/stable/c/96844075226b49af25a69a1d084b648ec2d9b08d"
        }
      ],
      "title": "net: mvpp2: Prevent parser TCAM memory corruption",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-22060",
    "datePublished": "2025-04-16T14:12:16.121Z",
    "dateReserved": "2024-12-29T08:45:45.812Z",
    "dateUpdated": "2025-05-26T05:17:35.755Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-22060\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-04-16T15:15:59.477\",\"lastModified\":\"2025-04-17T20:22:16.240\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: mvpp2: Prevent parser TCAM memory corruption\\n\\nProtect the parser TCAM/SRAM memory, and the cached (shadow) SRAM\\ninformation, from concurrent modifications.\\n\\nBoth the TCAM and SRAM tables are indirectly accessed by configuring\\nan index register that selects the row to read or write to. This means\\nthat operations must be atomic in order to, e.g., avoid spreading\\nwrites across multiple rows. Since the shadow SRAM array is used to\\nfind free rows in the hardware table, it must also be protected in\\norder to avoid TOCTOU errors where multiple cores allocate the same\\nrow.\\n\\nThis issue was detected in a situation where `mvpp2_set_rx_mode()` ran\\nconcurrently on two CPUs. In this particular case the\\nMVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the\\nclassifier unit to drop all incoming unicast - indicated by the\\n`rx_classifier_drops` counter.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/46c1e23e34c9d1eaadf37f88216d9d8ce0d0bcee\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5b0ae1723a7d9574ae1aee7d9cf9757a30069865\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/96844075226b49af25a69a1d084b648ec2d9b08d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b3f48a41a00d6d8d9c6fe09ae47dd21c8c1c8b03\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e3711163d14d02af9005e4cdad30899c565f13fb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e64e9b6e86b39db3baa576fd73da73533b54cb2d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fcbfb54a0269875cf3cd6a2bff4f85a2e0a0b552\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.


Loading…